1

フレームレートを最大 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へのアウトレットですNSViewNSViewController

-(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てもスムーズです。

4

1 に答える 1