- Home /
Number of draw calls and sort order vs spritesheet size performance tradeoff
I'm testing a few optimization techniques on a mobile game and I'm experimenting with reducing draw calls or decreasing spritesheet size to reduce the overall app size of the game. I've placed all my sprites in 3 sprite atlases to reduce the draw calls but still see this issue.
Here is the main issue:
If I use a background sprite showing clouds that is about 2.5 MB in size I get 1 draw call for the whole background each frame.
If I have a small sprite about 200 KB and use that sprite multiple times to create the same cloud background with some sprites having a different sort order, the number of draw calls increases to 3 or 4 depending on the sort order hierarchy present.
From a performance perspective keeping the number of draw calls to a minimum is obviously desired but comes at the price of more memory and increased app size. Is this tradeoff worth it or is there a general range of draw calls that should be adhered to when developing for mobile devices (i.e. targeting IPhone 4 and above)?
Also if you have multiple sort order values on a sorting layer is it typical for the GPU to increase the draw call count for each additional sort order you add for a sort layer since it has to draw images one before the other?
Your answer
![](https://koobas.hobune.stream/wayback/20220612074915im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
How Can I Change Sprite Max Size,Format and Compressor Quality in My Script 1 Answer
Best Performance for Background Movement 1 Answer
Calling gameobject.transform vs. just calling transform directly - Performance negligible? 1 Answer
My Spritesheet won't slice and appears super pixelated 0 Answers
Figuring out which specific objects are slow to render? 0 Answers