Hello everyone,
For the past month i am trying to upgrade my project to 4.10. Unfortunately i cant because i get constant Vram warnings and crashes.
After a while and with the contribution of the very helpful answerhub guys i have managed to better understand what is the root for all of my problems.
This is where i need YOU! I could use some answers on how and why unreal treats textures the way it does. Is it normal? Is it a bug? Is it a bug with paper2d only projects?
Lets take things from the start.
The second i upgraded from 4.9 to 4.10 and pressed play i got greeted with a big red warning that my texture pool is exceeding the default value (1000mb) by about 3000mb! Whaaaaaat?
After reading around i learned about the texture pool value, where i can change it etc. etc. It now appears that my level is using about 4gigs of texture Vram! Needless to say that after a few secs i would get a glorious crash.
Although i am not an expert by any means when it comes to textures (and almost everything else… ) i had done my homework before i started creating my game and i knew about the limitations (like keep your textures below 2048x2048) and the do and dont’s of assets.
Because my game is 2d i have no need for mip maps or anything fancy.Hell! They dont even have to be power of two.Why would i add the extra translucency size cost for a sprite when not needed? Another good thing about 2d is that 90% of a level is comprised of the same, repeating sprites. So i was in shock when i realized that my gtx980 was crashing because it ran out of memory.
My experiments lead me to a conclusion that does not make sense to me. It appears that Unreal is loading EVERYTHING that is within my project no matter if i only use 1 texture inside my level! Is that normal? Is that the way an engine should work? No wonder it is crashing. It is loading >5000 textures into memory. Shouldnt unreal only use what is needed and not everything?
Another super weird thing is that when i go to project settings and disable texture streaming then my texture memory consumption goes back to normal. Unfortunately it still crashes in standalone game or if a package my game. At least it does not crash in standalone window anymore.
Is there a Dev out there that can help me understand why is this happening? I cant work anymore and it is hurting me really bad, both financially and mentally.
This is a picture of an empty map with only 1 sprite and 1 flipbook (my character bp).
And this is the same map with the player in the same spot but without me deleting a few hundred sprites. Notice that with the stream texture option unchecked ( or console command r.TextureStreaming 0 ) everything goes back to normal!
EDIT: Nothing goes back to normal. It is still the same but because i am not streaming anything anymore thats why the red warning is not appearing.
Any help would be greatly appreciated.
Thank you!