【问题标题】:Why Cocos2D iPhone v1.x Slow in iPhone 5S?为什么 Cocos2D iPhone v1.x 在 iPhone 5S 上运行缓慢?
【发布时间】:2013-11-03 00:51:25
【问题描述】:

我们有一个使用 Cocos2D v1.x 的应用程序,我们无法将其更新到最新版本。在iPhone 5S 上加载时,我相信它应该加载得更快,但似乎不是。假设在最有可能在iOS6 上运行的其他设备中加载场景需要 7 秒,而当我们在 iPhone 5S 上加载场景时大约需要 11 秒。

有什么想法吗?

谢谢!

【问题讨论】:

  • 你的测量结果如何?你怎么能断言 cocos2d 与慢有关?
  • 感谢您的回复。我使用了Time ProfilerCocos2D 的绘图场景在iPhone 5SiOS7 设备中要长得多。
  • 好的,现在你有了配置文件,瓶颈是什么?这些方法应该在您的时间配置文件的顶部显而易见,并且应该指出在加载场景期间花费最多的时间。
  • 小心 drawScene :所有场景后代的“更新”方法都在其中进行了说明。这是您可能正在做大部分您自己的逻辑的地方。它可能会影响 5S 的性能。
  • 谢谢!我发现有一个正在访问文件但不再需要的调用。我删除了那个电话,问题得到了解决。

标签: ios6 opengl-es cocos2d-iphone ios7 iphone-5


【解决方案1】:

Cocos2d 1.x 使用 OpenGL 1,Cocos2d 2.x 使用 OpenGL 2。而且 iPhone 5S 使用 OpenGL 3。

Xcode 5 将无法正确支持 OpenGL 1,并且会使用一些已弃用的函数。

这样,已经编译发布的游戏就可以正常运行了。但是如果你使用 iOS SDK 7.0 编译这个游戏,你会遇到一些冲突。

你有两个选择:更新 cocos2d,或者使用旧的 Xcode 版本和旧的 iOS SDK

【讨论】:

  • 就 Xcode 支持而言,我认为这是不正确的。我在这里有一个项目,它同时具有 OpenGL ES 1.1 和 2.0 渲染路径,而 Xcode 5 在 1.1 方面完全没有问题。正如 Apple 所说,1.1 功能有效地将固定功能管道映射到可编程 2.0 兼容硬件上。对 OpenGL ES 3.0 的支持并没有真正改变这一点。
【解决方案2】:

谢谢!我发现有一个正在访问文件但不再需要的调用。我删除了那个电话,问题得到了解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    相关资源
    最近更新 更多