Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 应用程序帧速率不稳定_Iphone_Objective C_Cocos2d Iphone - Fatal编程技术网

Iphone 应用程序帧速率不稳定

Iphone 应用程序帧速率不稳定,iphone,objective-c,cocos2d-iphone,Iphone,Objective C,Cocos2d Iphone,大家好 使用cocos2d和objective c为iphone编写应用程序。我有我的帧速率设置为30帧每秒与 [[CCDirector sharedDirector]setAnimationInterval:1.0/30]; 这在一段时间内还可以,但在应用程序中的1点上,当在两个场景之间切换时,模拟器上的帧速率会增加到60-90 fps。我放了一个断点来获取animationInterval值,它总是说它是0.033,那么为什么帧速率会像这样急剧上升呢? 我一直在使用 [[CCDirector

大家好 使用cocos2d和objective c为iphone编写应用程序。我有我的帧速率设置为30帧每秒与 [[CCDirector sharedDirector]setAnimationInterval:1.0/30]; 这在一段时间内还可以,但在应用程序中的1点上,当在两个场景之间切换时,模拟器上的帧速率会增加到60-90 fps。我放了一个断点来获取animationInterval值,它总是说它是0.033,那么为什么帧速率会像这样急剧上升呢? 我一直在使用 [[CCDirector sharedDirector]stopAnimations];和 [[CCDirector sharedDirector]startAnimations];交换层和场景时,但我总是在再次启动时重置间隔值。 任何帮助都将不胜感激 谢谢

这正是fps发疯的时候。当游戏场景加载时

[[CCDirector sharedDirector] stopAnimation];
GameScene *gameScene = [GameScene node];
[[CCDirector sharedDirector] replaceScene:gameScene];
[[CCDirector sharedDirector] startAnimation];
[[CCDirector sharedDirector] setAnimationInterval:1.0/30];

尝试此操作以获得帧的精确间隔。

帧速率的峰值是因为两个场景的帧速率均为30 fps。当他们一起玩时,你将获得60+每秒。间隔告诉你.033,因为这仍然是30 fps,但只有一个动画。如果你玩30,并把它切换到15,你应该看到,当你在前后缓冲区或屏幕之间切换时,你会得到大约30 fps。这正是我的问题,非常感谢
CCDirector *director = [CCDirector sharedDirector];
[director setAnimationInterval:1.0/60];
[director setDisplayFPS:YES];