We have a game that runs pretty smoothly on Android but the game is unplayably slow on iOS especially on iPhone 4. We have found some candidates what may be delaying the game rendering but still the overall performance is quite bad.
The following insights can be written down:
- We are quite sure that something in PlayN rendering loop may be the main reason of bad perfomance. Effect of disabling physics simulation and game update computations is marginal, while it is 70% of computing time on Android).
- There is no significant dependency on screen resolution (retina/non-retina) so insufficient fill rate could be eliminated.
- Avoiding CanvasLayers and SurfaceLayers usage has only minor effect - most of the game are just moving ImageLayers.
- Vector text labels rendering (from Triple Play) is slightly slower but marginal.
- Composite operation is even slower but still not the main cause.
The question/s:
Do you know any other PlayN operation that may be slow on iOS platform and should (and could) be avoided? Is there any way how to get symbols to XCode profiler to get better knowledge of the main holdups in the game? Is there any other tool we can use for PlayN internals profiling?
Thanks for any experience with iOS performance problems.