【发布时间】:2013-01-17 20:06:29
【问题描述】:
我们有一款游戏在 Android 上运行相当流畅,但在 iOS 上运行速度非常慢,尤其是在 iPhone 4 上。我们发现了一些候选者可能会延迟游戏渲染,但整体性能仍然很差。
可以写下以下见解:
- 我们很确定 PlayN 渲染循环中的某些东西可能是性能不佳的主要原因。禁用物理模拟和游戏更新计算的影响是微乎其微的,而在 Android 上它是计算时间的 70%。
- 对屏幕分辨率(视网膜/非视网膜)没有显着依赖性,因此可以消除填充率不足的问题。
- 避免使用 CanvasLayers 和 SurfaceLayers 影响不大 - 大多数游戏只是移动 ImageLayers。
- 矢量文本标签渲染(来自 Triple Play)稍慢但边缘化。
- 复合操作更慢,但仍不是主要原因。
问题/s:
您是否知道任何其他 PlayN 操作在 iOS 平台上可能会很慢并且应该(并且可以)避免?有什么方法可以让 XCode 分析器获取符号以更好地了解游戏中的主要问题?是否有任何其他工具可以用于 PlayN 内部分析?
感谢您遇到 iOS 性能问题。
【问题讨论】:
-
使用仪器来识别瓶颈。不要假设,测量!
-
我们尝试过,但在带有调试版本的 Instruments 中没有符号。谁会猜到它必须是发布版本才能显示符号。现在很明显,主要原因是物理。
-
关于 iOS PlayN 性能的一些进一步见解在线程 groups.google.com/d/topic/playn/RobFg8Lm7jg/discussion 中讨论
标签: java iphone ios profiling playn