为什么在SKView不行设置frameInterval?(Why does setting fram

2019-10-23 12:27发布

我想帧率降低到最大30 FPS的。 官方文件说要使用:

skView.frameInterval = 2;

我经历了所有可用的单证以及每一项类似的问题在这里提出的计算器或其他页/博客/等阅读。 我想它在许多方面,但在以往任何时候我试图把它并未影响FPS的财产。

我不使用比从SpriteKit任何其他计时机制。 我因此设置它的文档,并在此#1的答案。

我甚至开始提供的Xcode基本SpriteKit模板,并试图设置帧速率属性,但即使如此,也没有工作了。

有谁遇到任何相似之处? 有没有减少最大FPS的另一种方式? 我还能尽量减少FPS?

BTW:我的工作在OS X和具有第一代的Retina MacBook Pro的 - 也许这是一个硬件问题?

编辑:

我不重写-(void)update:方法-只-(void)didSimulatePhysics

这是我在NSViewController子类,我在Interface Builder中做。 self.spriteKitView是出口到NSView我的NSViewController -Subclass

-(void)setupSpriteKitView {

    self.spriteKitView.frameInterval = 2;
    self.spriteKitView.ignoresSiblingOrder = YES;
    self.spriteKitView.showsFPS = YES;
    self.spriteKitView.showsDrawCount = YES;
    self.spriteKitView.showsNodeCount = YES;
}

-(void)viewDidLoad {

    [super viewDidLoad];
    [self setupSpriteKitView];
    [self loadStartupScene];
}

我甚至试图把这个在我的SKScene子类,其附加的接口生成器内的用户属性的SKView。

如何我现在它不工作? 无论是在我的比赛和Xcode的模板调试输出60 FPS说。 甚至减少时skView.frameInterval = 4动画留下光滑。

Answer 1:

好! 由于对搞清楚什么我做错了工作时间,我测试了Xcode的SpriteKit模板。 令人惊讶的连这个苹果提供的示例代码不会对反应skView.frameInterval财产。

所以,我是一个硬件错误的思想和搜索,苹果论坛。 我发现了几个人抱怨同样的问题,令人惊讶的苹果不知道这件事FPS-错误 ,将修复在埃尔卡皮坦 ...希望...我要测试的开发抢鲜!

不过 ,也有在SpriteKit颇有些更多的bug在OS X! 例如切换窗口时到由一个未定义的量全屏所FPS降零星 。 这是一个有点搞砸了!

编辑:

由于@EpicByte我发现了一些原因和答案。 见他的解释在上述评论!



文章来源: Why does setting frameInterval on a SKView not work?