Question about 'performance' between iPhone4 and (4s & ipad3)

Our company use unity 3.5.2 f3, and We want to make android and iPhone, a.k.a multiple devices. After we made android version, It is great work at android devices (its performance is 30-40fps).

I want to convert from android to iOS, so I switched android to iOS and build, but it is so slow at the iPhone4 that I can’t play at my phone (its performance was 4 - 8 fps). iPhone4S, it works at 16~20 fps. and the new iPad, it works 29~30 fps.

I don’t know how to optimize our game to iOS, and especially iPhone4.

Thanks to read this article.


P.S. At one scene, average draw call 30 ++


We use entire map as ‘mesh collider’ , because entire surface is merged one mesh.

and we use ‘Toon shader’ for expressing characters.

iPhone Unity internal profiler stats:

cpu-player> min: 151.2 max: 518.0 avg: 241.8

cpu-ogles-drv> min: 2.6 max: 12.8 avg: 5.4

frametime> min: 156.9 max: 528.3 avg: 251.6

draw-call #> min: 26 max: 46 avg: 34 | batched: 4

tris #> min: 26792 max: 40680 avg: 33070 | batched: 2690

verts #> min: 182060 max: 207731 avg: 194115 | batched: 1880

player-detail> physx: 13.2 animation: 2.5 culling 0.0 skinning: 2.8 batching: 0.5 render: 13.8 fixed-update-count: 3 … 6

mono-scripts> update: 151.6 fixedUpdate: 50.3 coroutines: 3.2

mono-memory> used heap: 41365504 allocated heap: 56332288 max number of collections: 1 collection total duration: 206.9


This kind of sounds wierd, i always have problem with Android and it was always smooth for me in iOS, btw are you taking all the Textures at power of 2. if unity enforces power of two the file size would be messed up sometimes. Also are you downloading anything from internet at run time, like images whose size are non power of two, because this would cause a huge impact compared to the non power of 2 image tht has been imported to the project.

30 draw calls are fine but what is the geometry size?!! and what are the shaders you are using.

And have any screen shot of ur profiler to post here?! because i am absolutely blank to think of any thing with the minimal info you have given.

So I suggest you consider running the iPhone 4 at a lower screen resolution as it really doesn’t have the power to drive that retina screen for a game, the 4s should be fine and so should iPad2 etc.

If you want to change the resolution just for iPhone4 then you will need to make the modification suggested in my answer here.