-1

「Activitymonitor」を使用してアプリのパフォーマンスを測定していますが、CCSpriteFrameCacheのスプライトフレームを使用して割り当てるスプライトの数が、アプリの実際のメモリ使用量に実際に影響することに気付きました。

たとえば、2048 * 2048ピクセルのテクスチャシートを含むCCSpriteFrameCacheをロードした場合、アプリの実際のメモリ使用量は16MB増加します。30個の敵のスプライトを割り当ててもtextureatlas.pngファイルをCCSpriteBatchNodeに追加し、フレームを使用してCCSpriteを割り当てると、実際のメモリの増加はごくわずかです(1MB未満)。私は静かにそれを取得しません。

CCSpriteFrameCacheがどのように機能するのか、実際のメモリ使用量を最適化するためにテクスチャアトラスの代わりにスプライトファイルを使用する必要があるのか​​どうか疑問に思っています。テクスチャアトラスとCCSpriteFrameCacheを使用する理由と方法でOpenGLのパフォーマンスが最適化されますか?誰かがこの主題を説明する良い記事を見つけましたか?

また、プログラミングガイドには、PVR形式を使用して2ビットおよび4ビットテクスチャのメモリ使用量を最適化するための提案がいくつかあります(リンクを参照)。イラストレーターが作った最高品質のアートワークを持っていますが、圧縮しようとするとゴミに見えます。PVR画像フォーマットの使用を検討できるのはいつですか?これに関する良い例はありますか?

どうもありがとうございます!

4

1 に答える 1

1

CCSprite インスタンスは、一連のパラメーターを持つ単なるオブジェクトです。これらのパラメータの 1 つは、使用するテクスチャへのポインタです。そのため、テクスチャをメモリに配置する必要があるのは 1 回だけです。次に、大量のメモリを使用することなく、任意の数のスプライトで使用できます。

于 2012-06-16T14:41:27.457 に答える