Texture memory usage and its effect on loading times
Howser
UK Join Date: 2010-02-08 Member: 70488Members, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow, Subnautica Playtester, Retired Community Developer
in Modding
As a hobbyist modeler I've been looking at a lot of the wonderful art for reference on how to make quality models for games. One thing I've noticed is there's quite a few odd choices in terms of the resolution of the textures and the lack of recycling of certain maps. For instance the skulks texture is the same size as the onus and hive, in some instances the shadow textures could (with a little blending) double up for the vanilla, some specular and luminosity maps at 2048* are unnecessarily high res (and would probably have no visual difference if reduced to 512* -like the harvester has). I believe I could reduce the amount of memory used by the core content by 20%+ with no visual difference and that's without researching compression DDS formats for certain textures. the question is Would this have an effect on loading times? and What is texture streaming's role in all this?
I'm not critting the art in any shape or form so please don't think I'm slating any of the talented buggers that made this great content... I just think there's some room to clean up some of the materials and textures to be more memory efficient. If people can confirm it will reduce loading and improve performance then I'll start working on a clean up mod and we can test times but I literally have no idea about the engine stuff and what causes the loading times to be quite so long. It seems unfair that all the hard-work has fallen on the coding team to reduce loading times if there's culling that could be done on the art side of things.
I've also noticed a few things in environment textures, for instance biodome_glass_01 calls up two 1024* textures in the material file which actually have no effect on the material as all its visual properties come from the surface shader it uses. There's quite a few examples of redundant textures being called up which could also be tidied up. But again would this make a difference? If a texture is not being used does the engine know not to load it?
Without including resizing I believe these textures (of the three lifeforms i looked at) could be merged and so halved (correct?) the memory usage that's a saving of 10.9mbs+ , which could reduced even further looking at compression methods and resolution reductions where possible.:
So whats the story? is is worth pursuing?
I'm not critting the art in any shape or form so please don't think I'm slating any of the talented buggers that made this great content... I just think there's some room to clean up some of the materials and textures to be more memory efficient. If people can confirm it will reduce loading and improve performance then I'll start working on a clean up mod and we can test times but I literally have no idea about the engine stuff and what causes the loading times to be quite so long. It seems unfair that all the hard-work has fallen on the coding team to reduce loading times if there's culling that could be done on the art side of things.
I've also noticed a few things in environment textures, for instance biodome_glass_01 calls up two 1024* textures in the material file which actually have no effect on the material as all its visual properties come from the surface shader it uses. There's quite a few examples of redundant textures being called up which could also be tidied up. But again would this make a difference? If a texture is not being used does the engine know not to load it?
Without including resizing I believe these textures (of the three lifeforms i looked at) could be merged and so halved (correct?) the memory usage that's a saving of 10.9mbs+ , which could reduced even further looking at compression methods and resolution reductions where possible.:
So whats the story? is is worth pursuing?
Comments
Some of the minor details on the normal are visible but that's really minor and given the speed/size of the skulk its not worth considering. I have taken some high-res comparison images:
Original:
Modified:
Now I suspect it'll be a bit trickier with the marine hard surface stuff but I'm certain we can still make some serious savings.
"Too late" when it comes to improving software, doesn't make sense unless you're speaking about funding.
I don't think we'd see much in the realm of performance gains (fps, etc), but I'm certain this would improve load times. It's just a question of how much.
Excellent work Howser, this is damned interesting to me. *thumbs up*
I'm trying to imagine how much you could do this to in the game..
The lower skulks eye is actually the one I like the most since it seems to glow more :P
Plus this give me great news knowing that I can probably create twice the number of players and models (unique sides for each team in proving grounds) and still potentially use less memory than vanilla ns2 does for the 1 version of the same models. Whether this gets implemented in the main game or not, understanding this makes things a lot better for big customisation modders like myself and McGlaspie.