Cocos2d iphone 应用程序启动时Cocos2d是否会随机降低fps?

Cocos2d iphone 应用程序启动时Cocos2d是否会随机降低fps?,cocos2d-iphone,frame-rate,Cocos2d Iphone,Frame Rate,我正在使用cocos2d开发一款iphone游戏,并将其设置为显示FPS。现在,大多数情况下,应用程序将以60 fps的速度启动和运行,但有时应用程序启动和运行速度仅为40 fps,这显然是随机的 这种情况并不经常发生,而且似乎只有在您退出应用程序并尽快重新启动它时才会发生,尽管这在大多数情况下不会触发效果。但在几个快速退出重新启动序列后,游戏最终启动,并且只有40 fps,而不是正常的60 fps。如果我在此时退出应用程序并等待大约3秒钟,它将以正常的60 fps再次启动 我假设这与应用程序无

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

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

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


重要的是要注意,如果我退出应用程序等待5秒并重新启动,这种情况永远不会发生。以前有人有过这种问题吗?。你知道为什么会发生这种情况吗?

如果有人想知道这是因为在iPhone 3GS/iPod Touch 3G中模拟OpenGL 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];
//尝试使用CADisplayLink控制器
//如果失败(SDK<3.1),请使用线程控制器
如果(![Director setDirectorType:CCDirectorTypeDisplayLink])
[Director setDirectorType:CCDirectorTypeThreadMainLoop];

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