Draw Calls Graphics Emulation

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)

Because i didn’t started with the iphone basic trial yet

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.

GUI seems to increase draw calls a lot too. Any tricks available?

Using the sprite manager and write your own single drawcall gui system

Does that mean “bye bye” Unity-GUI at all?

Is there some shared code available for that?

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

http://forum.unity3d.com/viewtopic.php?t=17864

and on the wiki here

my recommendation for using the spritemanager with a 2nd camera to do your GUI can be found in this thread

http://forum.unity3d.com/viewtopic.php?p=131706#131706

quoted here:

-jdm