SpriteSheet を使用してアニメーションを実行しようとしています。私のフレームはそれぞれ 320x480 のサイズなので、テクスチャ イメージに最大 6 フレームを配置できます。しかし、私のアニメーションは 50 から 200 の範囲のフレーム数で構成され、すべて 320x480 のサイズです。ただし、サイズが 1024x1024 に制限されているため、テクスチャ イメージにこれだけ多くのフレームを追加することはできません。私が試すことができる他のアプローチはありますか?アニメーションを次々と再生できますか? また、パフォーマンスの妨げにはなりませんか? 提案が必要です。ベスト、バイバフ・テカム。
1035 次
1 に答える
2
うーん、あなたはデバイスが処理できるものをはるかに超えています!何を達成しようとしているのか、どのように達成しようとしているのかを再考する必要があります。説明させてください。
32ビットカラーの1024x1024テクスチャごとに、4MBのメモリが必要です。60個のフルスクリーンスプライトで構成されるスプライトアニメーションが必要な場合は、10個のそのようなテクスチャが必要です。これで40MBのメモリになります。または、180のアニメーションフレームを使用する大文字のシナリオの場合は120MB。
iOSデバイスの128MBRAMメモリモデルでは、最大で理想的な条件下で、アプリで約30MBのメモリを使用できることに注意してください。1024x1024テクスチャが5つしかない場合、メモリの問題が発生し始めます。256 MBのデバイスでは、アプリで使用できるのはまだ約100MBだけです。
アニメーションであることが想定されているため、1つのテクスチャをロードするオプションもありません。また、6番目の画像ごとに、そのテクスチャを削除して次のテクスチャをロードします。1024x1024のテクスチャをメモリにロードするには、デバイスによって異なりますが、約1〜3秒かかります。その間、アプリは無責任になります。
于 2010-07-30T21:02:30.643 に答える