• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Windows Is sprite_add objectively worse memory wise vs IDE? Why?

kupo15

Member
I understand the potential drawbacks with sprite_add. It creates a texture page each time you call it resulting in poorly optimized tex pages. The IDE however, packs those sprites to save space so on the surface it seems like the IDE wins with memory. However, one would think that if you create your own optimized texture pages then use those for the sprite_add you wouldn't have the drawback I mentioned above because you are loading in an optimized tex page already. Plus, you would get the added benefit of not having any sprites in the IDE in memory when not in use period (because anything in the IDE uses system memory just by being there)

So then why does my test show that externally loading is monstrously worse? My experiment:

I have 8 full 4096x tex pages that I loaded into the IDE. I run the game and check task manager (yes I know it doesn't show VRAM but it does show system memory at least which is where that 1.7GB wall is) and the memory tab shows 96mb used. When I prefetch it, the memory goes up to about 546mb then comes back down to 96mb.

I took the same tex pages and put them in the included files then sprite_added all 8 of them. The task manager spiked up to 2,272 MB!!! Then came back down to 1,185MB!!!! I thought the numbers would be the same but they definitely are not. What's going on?
@rwkay
@Mike

@GMWolf any idea?
 
Last edited:

GMWolf

aka fel666
Nope, sorry.
This is strange to me. I would have thought the memory usage would be the same.
YYG must be doing something strange with sprite add, or maybe the prefetching isnt working as intended.

4096x pages should use 67MB each (uncompressed) so 8 of them should use 536MBs.
Its possible the IDE textures are compressed.
but that doesn't explain why the memory usage of sprite_add is so high! Something seems wrong...

@Mike @rwkay whats going on?
 

kupo15

Member
4096x pages should use 67MB each (uncompressed) so 8 of them should use 536MBs.
Its possible the IDE textures are compressed.
but that doesn't explain why the memory usage of sprite_add is so high! Something seems wrong...
Ok. I'm going to file this as a trouble ticket to see if I can get an answer that way
 

kupo15

Member
Got a response back from the help desk to help shed some light on it. I guess its confirmed that sprite_add is pretty much useless at this point. Here is to hoping they will implement multiple wad file swaps in the near future.

Helpdesk said:
as for sprite_add we have to keep the full uncompressed texture lying around in memory so you will have 2 copies (the DX texture + original). Due to this, this is why you're seeing your memory not decreasing. We have no plans to change how this is handled either currently.

Textures on disk are loaded as and when required and only one copy is kept so there's no extra overhead.
 
Top