フレームレートを最大 30 FPS に下げようとしています。公式ドキュメントには、次を使用するように記載されています。
skView.frameInterval = 2;
利用可能なすべてのドキュメントと、ここでスタックオーバーフローまたは他のページ/ブログ/などで尋ねられた同様の質問をすべて読みました。私は非常に多くの方法でそれを試しましたが、プロパティを設定しようとしても、FPS には影響しませんでした。
SpriteKit 以外のタイミング メカニズムは使用していません。ドキュメントとStackoverflowの回答に応じて設定しています。
Xcode で提供されている基本的な SpriteKit テンプレートを起動して、フレーム レート プロパティを設定しようとしましたが、それでもうまくいきませんでした。
誰かが類似点を経験していますか? 最大 fps を減らす別の方法はありますか? FPS を下げるには他に何ができますか?
ところで: 私は OS X で作業しており、第 1 世代の Retina Macbook Pro を持っています。ハードウェアの問題でしょうか?
編集:
メソッドをオーバーライドしていません-(void)update:
-のみ-(void)didSimulatePhysics
これは、Interface Builder で設定した NSViewController サブクラスで行うことです。私のサブクラスself.spriteKitView
へのアウトレットですNSView
NSViewController
-(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-Subclass に入れて、Interface Builder 内のユーザー プロパティとして SKView にアタッチしようとさえしました。
どうすればうまくいきませんか?私のゲームと Xcode テンプレートの両方で、デバッグ出力に 60 FPS と表示されます。アニメーションを減らしskView.frameInterval = 4
てもスムーズです。