When i set Graphics Emulation from “No Emulation” to “Dinosaur” the number of draw calls increases dramatically. (In this case from 16 to 41)
I am preparing for the iPhone Basic and I want to do as much none-iPhon-specific stuff as possible before I start with the trial. I’m trying to keep things as simple as possible because I fear the bad performance of the iPhone.
Will the draw calls on the iPhone usually be much higher than with “No Emulation”?
Why don’t use the iPhone Graphics Emulation instead of Dinosaur??
EDIT: Oups didn’t see that you didn’t have Unity iPhone. Sorry. But no, on iPhone you shouldn’t see such a big increase of drawcalls (make sure you aren’t using Dynamic Lighting)
The raised drawcalls comes from the fact that the iphone only supports 2 textures at the same time and does not support any pixel or vertex shaders.
For that reason all those things need to be replicated through multiple passes (on the iphone that means dublicate geometry that handle the additional effects) and alike, which is very costly.
For the most part I think it is recommended to keep UnityGUI limited to front end menus, options screens, and other places where you don’t expect to be also rendering 3D at 30fps…
SpriteManager shared code (user submitted, thanks to Brady) can be found in this thread