【问题标题】:app frame rate is unstable应用帧率不稳定
【发布时间】:2011-06-06 17:44:35
【问题描述】:

大家好 使用 cocos2d 和 Objective c 为 iphone 编写应用程序。我将帧速率设置为 30 fps [[CCDirector sharedDirector] setAnimationInterval:1.0/30]; 这暂时还可以,但在应用程序中的 1 点,当在 2 个场景之间切换时,模拟器上的帧速率会增加到 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+ fps。间隔告诉你 .033,因为它仍然是 30 fps,但只有一个动画。如果您使用 30 并将其切换到 15,您应该会看到,当您在前后缓冲区或屏幕之间交换时,您会获得大约 30 fps。
  • 这正是我的问题,非常感谢

标签: iphone objective-c cocos2d-iphone


【解决方案1】:
CCDirector *director = [CCDirector sharedDirector];
[director setAnimationInterval:1.0/60];
[director setDisplayFPS:YES];

试试这个以获得精确的帧间隔。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2013-02-12
    相关资源
    最近更新 更多