0

作成中のゲームに使用しているスプライト シートがいくつかあり、スプライト シートに関連するメモリ管理に関するヘルプを探しています。

現在、8 つのスプライト シート (2048x2048) があり、それぞれがプレイ可能なキャラクターの能力と動きを表しています。現時点では、ユーザーがそのキャラクターを選択したら、それらをキャッシュに追加します。また、ゲーム内のアイテム (手榴弾/武器/地上オブジェクトなど) のスプライトを含むスプライト シート (2048x2048) がもう 1 つあります。

最大で 4 キャラクター + 他のアイテム スプライト シートがいつでもアクティブになります。私の質問は、メモリの観点から、一度に使用するには多すぎますか? I/O 呼び出しを減らすために、1 つの Massive スプライト シートを使用する方が適していますか? いつロードする必要がありますか? パフォーマンスを向上させるために手動でアンロードできますか?

ありがとう!

4

1 に答える 1

0

cocos2d を使用したメモリの最適化に関する非常に興味深い記事を読む必要があります: http://www.learn-cocos2d.com/2012/11/optimize-memory-usage-bundle-size-cocos2d-app/

もちろん、必要に応じて手動でテクスチャをアンロードすることもできます (CCTextureCache と CCSpriteFrameCache を参照してください) が、私の経験からは、実際にメモリの問題が発生しない限り、できる限りプリロードし、アンロードについて心配する必要はありません。

スプライト シートは少ないほど良いと言えますが、サポートされているテクスチャの最大サイズが iphone 3GS や iPhone 4 などの一部のデバイスで 2048×2048 であることを考えると、「1 つの大規模な」スプライト シートを使用しないことをお勧めします (この2048×2048サイズ以内に収まります)

于 2013-08-19T09:42:47.280 に答える