2016-05-26 13 views
1

私は提案が必要です。私はたくさんのSKShapeNodesでゲームを作っています。ですから、私のFPSは約18です。このようなゲームでFPSを増やす方法について誰かが提案していますか? SpriteKitベースはは一度それを計算すると、それを再利用するよりも、代わりに(あなた形状のピクセルを計算する)すべてのフレームををラスタ化であるため、完全なゲームシーンでSKShapeNodeの量である220多くのSKShapeNodesを使用してspritekitゲームでFPSを上げる方法は?

答えて

1

SKShapeNodeはパフォーマンスではなく集約的です。

私が見る2つのオプションがあります。

  • あなたのシェイプノードとSKTexture(s)はオブジェクトを作成し、SKSpriteNodeで、それらのテクスチャを表示する代わりに、直接あなたのSKShapeNodeオブジェクトを表示するよりも。それは、一度にレンダリングされたものをキャッシュをSKEffectNode子どもをラスタライズし、変化がない一方で、それを再利用することをいくつか/ SKEffectNodeのごSKShapeNodeオブジェクトのすべての子とtrueへのshouldRasterizeプロパティを設定を作る
  • は、何それが意味することです。

あなたが達成しようとしていることは、時間の経過とともに変化するノードの形ですか?それらの形は動き回っていますか?それはすべて変化しているのか、動いているのか、あるいはその一部だけですか?

+0

ありがとう、Trevor Anne Denise!私は移動のためだけにこれらの図形を使用しています。削除する必要がある場合は、時間の経過とともに新しい図形を生成します。最初の選択肢は私のために良いですか? –

+1

@NurassylNuridinあなたは覚えておいていただきたいことは一つだけです。キャッシングは形状に変化がない場合にのみ効率的です。いくつかのノードを移動するだけの場合は、それらをキャッシュするノードを直接移動して、すべてを再描画するのではなく「テクスチャを移動する」ようにします。 –

+1

しかし、私はSKEffectNodeを動かすことによって、子供の「新しいレンダリング」がトリガされることがあると思います。 –

関連する問題