【问题标题】:Cocos2d on application start gives random fps drop?Cocos2d 在应用程序启动时给出随机 fps 下降?
【发布时间】:2010-01-05 05:36:33
【问题描述】:

我正在使用 cocos2d 开发一款 iphone 游戏,并将其设置为显示 FPS。现在大多数情况下应用程序将以 60 fps 的速度启动和运行,但显然有时应用程序会随机启动并以 40 fps 的速度运行。

这种情况并不经常发生,而且似乎只有在您退出应用程序并尽快重新启动时才会发生,尽管这在大多数情况下不会触发该效果。但在几次快速退出-重启序列后,游戏最终开始并且只有 40 fps 而不是正常的 60 fps。如果我此时退出应用程序并等待大约 3 秒,它将再次以正常的 60 fps 开始。

我假设这与应用程序在重新启动之前无法释放所有内存有关?这个问题似乎与 iPhone 操作系统有关。

请务必注意,如果我退出应用程序并等待 5 秒钟并重新启动,则永远不会发生这种情况。以前有没有人遇到过这种问题?关于为什么会发生这种情况的任何想法?

【问题讨论】:

  • 我见过这种行为。似乎与设备有关,与 cocos2d 无关。
  • 是的,我就是这样,我想没有办法解决这个问题?

标签: cocos2d-iphone frame-rate


【解决方案1】:

如果有人想知道这是因为以前在 iPhone 3GS/iPod Touch 3G 中模拟 OPEN GL 2.0 时存在一个错误,这个问题已在 OS 3.1 中得到修复。您所要做的就是:

// Try to use CADisplayLink director
// if it fails (SDK < 3.1) use Threaded director
if( ! [Director setDirectorType:CCDirectorTypeDisplayLink] )
    [Director setDirectorType:CCDirectorTypeThreadMainLoop];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2015-02-03
    相关资源
    最近更新 更多