应用程序启动时的Cocos2d给出了随机fps下降?

时间:2010-01-05 05:36:34

标签: cocos2d-iphone frame-rate

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

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

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

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

1 个答案:

答案 0 :(得分:2)

如果有人想知道这是因为在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];