microdev you should join the aristole video svn so you can submit changes there.I've got some good and some bad news:
The good news:
I implemented texture caching.
The drawback:
- Up to now it takes quite long to load the textures for big texture packs (55 seconds for gitech's Castelvania 2 pack...)
- Furthermore the memory occupation with texture caching is very high (around 800mb for the Castelvania 2 pack)
Hmm... what to do? Does anybody have an idea how to speed things up & how to reduce the memory usage at the same time?
You probably need cache management IE if something isn't used for a long time it needs expired (it's also called garbage collection). However with a game most times an area gets a series of loads. Those you don't need to keep 800Megs worth of textures.
Hatred has a point as well, you don't need to store those as uncompressed data. I suggest keeping it as a compressed image at best in memory for as long as it's needed. Make them textures (L1 and L2 caching in other words) when needed. Expire texture in video card memory and expire texture cache memory as needed. IE manage your data. You could tag a lifetime to each texture that diminishes each frame it's not used and increments each frame it is used. When it reaches zero it's dropped from physical memory.
Cyb
Maybe just (permanently) caching large textures in combination with on the fly compression/decompression will help.
Can you start it over? With little info and only one member it should be easy to do at this early stage right??
,
Jay
Level-based cache management has already been implemented by Rice. But: If textures expire after some time and are reloaded from hd when needed, the caching won't have any effect because the large textures would have to be reloaded, which causes stuttering. So, cache on demand won't be an option.
Maybe just (permanently) caching large textures in combination with on the fly compression/decompression will help. My biggest concern is the load time so far. Loading more than 500mb simply takes some time.
I would like to try some things out that came to my mind this night. If that leads to nothing, I will have a look at the GlideHQ implementation. GlideHQ is by sure a very good and smart solution for hires texture handling but it is more challenging to try some things by myself first before doing copy&paste jobs.
Gitech: I will send you a test version as soon as I did some optimization & "sexyfication" of the changes. As the debug-build doesn't work for me, I have to create a proper build w/o the logging/debug code, first.
Awesome man, thanks!
How's it coming along? Any new news today?
Do you know about DXT/DDS support? I could help by explaining how awesome it is and what it does/can do. Jabo uses it. I don't know how hard it would be to implement, do you know if it is possible?
@DD: I'm not sure if an SVN with incorrect spelling is a good idea. It will probably cause confusion and crap over time. Why can you not make a new one?
Jay