0

だから、これは私の最初のアプリで、私は立ち往生しており、ほぼ1週間解決策を見つけることができません. さまざまなキャラクターのアニメーションをたくさん作成しましたが、ゲームのメモリ使用量が約 200 MB であることがわかりました。多くの初心者と同じように、png テクスチャを圧縮するとこのサイズも小さくなると考えていたので、以前はこれについて心配していませんでした。しかし、そうはなりませんでした。それで、私はそれについて何ができるかを探し始め、テクスチャ形式をデフォルトの RGBA8888 から RGBA4444 に変更すると、メモリ使用量をほぼ半分に削減できることがわかりました。

Sprite Kit Texture Atlas: Define Image Format (RGBA4444, RGB565, …)という回答が見つかりました。Build Settings > Output Texture Atlas Format から出力フォーマットを変更できると書かれています。しかし、私のアトラスは assets.xassets フォルダーに作成されているため、それはうまくいきません。「Build Settings > Output Texture Atlas Format」設定は、プロジェクト フォルダーにアトラスを作成し、assets.xassets フォルダーに作成しない場合にのみ存在します。

そこで私の次のステップは、TexturePacker でテクスチャ フォーマットを手動で変更することでした。私はそれを行いましたが、問題はこれらの新しいテクスチャを assets.xassets フォルダに追加したときです。品質は低くても、RGBA8888 形式のテクスチャと同じメモリ使用量が残っています。

多くのリソースを読みましたが、Sprite Atlas が assets.xassets フォルダーにある場合に Output Texture Atlas Format を変更する方法に関する情報は見つかりませんでした。

この時点で何をすべきかわかりません。私の質問は、assets.xassets フォルダーにあるスプライト アトラスのテクスチャ フォーマットを RGBA4444 に変更するにはどうすればよいですか? 前もって感謝します。

4

1 に答える 1

1

SpriteKit を使用したテストでは、すべてのテクスチャが RGBA8888 (つまり 32BPP) としてメモリにロードされていることがわかりました。テクスチャ パッキングは、データをコンポーネントごとに 4 ビットとしてディスクに格納する場合がありますが、コンポーネントごとに 8 ビットでメモリにロードされる場合、実行時には問題になりません。実行時のメモリ使用量を削減する方法に興味がある場合は、こちらをご覧ください: SpriteKit のメモリ削減シェーダーに関する情報については、この SO の回答を参照してください。

于 2016-10-08T02:50:29.693 に答える