- Home /
GPU warm up
Hi, I'm wondering if there is any reason to render all my sprites/atlases under some cover during 'loading' for 1 frame and then disable? Will i gain any render performance boost next time i will render any of this sprites? Sprites are anyway in RAM, cause references, but do i need to 'warm up' GPU with them? Thanks!
Answer by valyard · Feb 15, 2016 at 04:30 PM
As far as I know you will not gain any performance boost from doing this considering textures/atlases. Textures are uploaded to GPU when they are loaded from disk as part of a scene or created from script.
You will gain performance boost if the sprite shader you are using is used for the first time ever in the game. In this case GPU driver will have to actually compile and upload it to GPU so all other draw calls with this shader will not have to do this. This is what http://docs.unity3d.com/ScriptReference/Shader.WarmupAllShaders.html essentially is doing.
This method actually draws small triangles with all shaders to be sure that they are all compiled and uploaded to GPU. Otherwise every draw call with a new shader will result in a small lag which is not what you want in the middle of your action scene...