- Home /
Big frametime on iOS + intermittent cpu-waits-gpu
Hi, I'm testing on the iPad1 and I feel like I should be getting much better performance than I am. Or perhaps I'm just not reading the figures correctly? I went through the process of removing almost everything from my game to see the effect on frame time, and just now I've removed the entire planet (main game object, 50k tris) and it had no effect on frame time at all.
I'm getting stats like this (planet added back in):
iPhone Unity internal profiler stats:
cpu-player> min: 14.3 max: 52.0 avg: 32.7
cpu-ogles-drv> min: 0.9 max: 21.9 avg: 2.7
cpu-waits-gpu> min: 0.5 max: 26.1 avg: 2.1
msaa-resolve> min: 0.0 max: 0.0 avg: 0.0
frametime> min: 19.2 max: 71.0 avg: 42.8
draw-call #> min: 9 max: 16 avg: 14 | batched: 3
tris #> min: 51065 max: 52487 avg: 52226 | batched: 56
verts #> min: 33812 max: 35029 avg: 34788 | batched: 112
player-detail> physx: 2.8 animation: 0.0 culling 0.0 skinning: 0.0 batching: 0.2 render: 17.2 fixed-update-count: 1 .. 5
mono-scripts> update: 3.1 fixedUpdate: 0.6 coroutines: 0.0
mono-memory> used heap: 1409024 allocated heap: 1597440 max number of collections: 0 collection total duration: 0.0
I don't understand why the frame time is so high, or why I'm getting cpu-waits every now and again. The Unity docs state that a number over 2 is bad, but I get no gpu-waits, and then suddenly this entry will appear with a sudden huge number like 26.
I've put an fps counter in the game just now and I'm getting between 23-32fps. Even at around 30 fps though, it visually looks like its got a jerking motion to it, like it isn't very smooth (which is extremely important for my game).
On my iPhone 4 I'm getting these sorts of numbers, and again its visually not heaps smooth or it will stutter noticeably:
iPhone Unity internal profiler stats:
cpu-player> min: 18.3 max: 66.5 avg: 41.1
cpu-ogles-drv> min: 1.1 max: 25.9 avg: 2.3
cpu-waits-gpu> min: 0.9 max: 32.0 avg: 3.0
msaa-resolve> min: 0.0 max: 0.0 avg: 0.0
frametime> min: 42.0 max: 81.7 avg: 54.2
draw-call #> min: 11 max: 15 avg: 13 | batched: 3
tris #> min: 50673 max: 51203 avg: 50947 | batched: 51
verts #> min: 33028 max: 33456 avg: 33239 | batched: 103
player-detail> physx: 1.3 animation: 0.0 culling 0.0 skinning: 0.0 batching: 0.3 render: 16.3 fixed-update-count: 2 .. 4
mono-scripts> update: 8.8 fixedUpdate: 2.3 coroutines: 0.0
mono-memory> used heap: 1343488 allocated heap: 1597440 max number of collections: 0 collection total duration: 0.0
I have a few particle systems, but nothing crazy. When I went through removing everything and re-testing, removing them didn't seem to have much effect at all, and I don't have any full screen effects running or anything crazy. I've got some stars which are solid, and a trail with 500 or so particles (set to .1 max size) but again it didn't have any real effect when removed.
My textures are PVTRC compressed, all the sound is heavily compressed... I'm running out of ideas!
Would love to hear any thoughts on what I can look for, or if anything stands out in these numbers.
Thanks! Regards, Jay
I've also noticed that my CPU-ogles-drv sits mostly around 1, and spikes every few seconds up to 20-25. What would cause this?
Your answer
Follow this Question
Related Questions
vBlank Drift - Locking unity to the vBlank? 1 Answer
How does Time.deltaTime provide smoother physics functions? (Frame rate question) 2 Answers
Is it a bad practice to change the timescale for the whole game? 1 Answer
Unity Create With Code Challenge 1 1 Answer
Is there any way to determine Unity's actual target frame rate? 1 Answer