hexxellor / texmod

Automatically exported from code.google.com/p/texmod Universal Modding Engine - uMod games on the fly!
1 stars 0 forks source link

Couldn't allocate memory #22

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. download mass effect 1 texture mod 
[http://social.bioware.com/forum/1/topic/128/index/8565134]
2. use umod to load it
3. the program will take 2 GB of RAM until it say an error

What is the expected output? What do you see instead?
I should be able to load that texture, but umod doesn't handle 700 MB of texture

What version of the product are you using? On what operating system?
uMod r49 and r53 crash on windows 7 64 bit

Original issue reported on code.google.com by m...@protonmail.ch on 15 Sep 2012 at 4:39

GoogleCodeExporter commented 9 years ago
uMod is not memory friendly, it holds each texture twice in memory and keep in 
mind, that the tpf mods are zip compressed and uMod uncompress them. To that 
point the texture are loaded by DirectX, which additional needs some memory, 
that would be the third copy of the textures.

I like to use shared memory in future, but there are so many other problems to 
solve and I don't have time at the moment ...

Original comment by c...@koerner-de.net on 15 Sep 2012 at 5:58

GoogleCodeExporter commented 9 years ago
Use this on the uMod exe 
(http://www.techpowerup.com/forums/showthread.php?t=112556). It fixed it for me.

Original comment by errorshh...@gmail.com on 15 Sep 2012 at 6:03

GoogleCodeExporter commented 9 years ago
so.. if with texmod textures are loaded as soon as possibile in the game
you are saying that in umod that textures are loaded in umod and then in the 
game, only when needed ?

Original comment by m...@protonmail.ch on 15 Sep 2012 at 6:27

GoogleCodeExporter commented 9 years ago
I can't tell you something about when and how texmod loads tpf mods and 
afterwards the texture. uMod loads all the texture in the moment the mod is 
loaded into the GUI (in that moment automatically and update is done, as if you 
would press the update button). So the textures are send to the game. In the 
address space of the game, the textures are also stored in memory. If the game 
has loaded a target texture, than the fake texture is created out of the 
texture files in memory. If the game did not load the target texture so far, 
uMod does not creates the fake texture.

At least two copies of the texture file content are stored in the working 
memory in the moment you load the mod. In uMod 1 this yields only for activated 
mods, in uMod 2 all mods are loaded into uMod and if they are activated, than 
they are stored twice in the game. Shared memory would redundantize the texture 
copy in the game and would reduce the transmission time of the textures to the 
game.

Original comment by c...@koerner-de.net on 16 Sep 2012 at 10:53