0

我最近将一个项目从 Cocos2d 1.1 移植到 2.0。到目前为止一切正常,但我注意到 iPhone 4 和 iPod Touch 4 的帧速率从 60 fps 下降到 40-50 fps 左右。我尝试过的其他设备(iPad 1 和 3、iPhone 4s)仍然跑到60。

起初我以为我有太多的绘图调用,但在将调用从 54 减少到 17 之后,我在两个设备上仍然有相同的 fps。我应该注意,我在默认的 Hello World 模板上没有这个问题,控制台中也没有任何 openGL 错误。我的内存占用大约是 50mb,所以我认为这也不是问题。有任何想法吗?

4

1 回答 1

0

看起来你有一个简单的性能问题。以 60 fps 运行的其他设备(至少是 iPad 3 和 iPhone 4S)比 iPhone 4 和 iPod Touch 4 具有更强的计算能力和更好的图形处理器。

由于这发生在从 cocos2d 1.1 升级到 2.0 之后,第 4 代 iPhone 设备运行 OpenGL ES 2.0 代码(着色器)的速度可能不如其他设备快。这也可能是 cocos2d 2.0 本身的问题。除非你真的需要使用 cocos2d 2.0 的特性(即着色器),否则最简单的方法就是回到 cocos2d 1.1。如果您不编写着色器,cocos2d v1.1 在功能方面与 2.0 相同(此时)。

最后,仅使用发布版本测试性能。如果您运行 Debug 构建,诸如日志记录和断言之类的东西可能会完全扭曲任何性能结果。

于 2012-08-01T21:31:35.410 回答