2

のパフォーマンスに問題がありSprite.setChildIndexます。多くの小さな画像で構成される世界を表示する必要があります。(約10.000)

最高のパフォーマンスを得るために、画像プールを使用します。すべての画像は常に 1 つのスプライトの表示リストにあるため、画像を追加および削除する必要はありません。

世界の新しい地域を表示したい場合は、画像を新しい位置に移動するだけです。このプロセスは非常に高速で、約 6 ミリ秒かかります。

しかし、問題は、表示リスト内の画像の順序が重要であることです。そのため、setChildIndex を使用して画像を再配置する必要があります。画像を表示リスト (setChildIndex) の正しい位置に設定するプロセスはパフォーマンスに大きな影響を与えるため、新しいリージョンを表示するには約 60 ミリ秒かかります。プロセスを最適化する方法を知っていますか、または setChildIndex メソッドに代わる方法はありますか?

4

1 に答える 1

0

世界の各地域に独自のコンテナーを与え、そのコンテナーを世界のコンテナーに入れることができます。このようにして、たとえば 10,000 ではなく 500 の画像をグループ化して、setChildIndex または swapChildren を使用できます。また、新しいリージョンをロードする場合は、リージョン コンテナ全体 (ワールド コンテナ内) に setChildIndex を設定するだけです。これにより、10,000 個のスプライトすべてに注意を払う必要がなくなり、マップの読み込みが最適化されます。

于 2013-12-12T06:14:02.427 に答える