2

これはかなり Unity 固有のものかもしれませんが、ここで質問する理由は、これが iPad とメモリ使用量に関する一般的な質問であるためです...

Unity3D ゲーム プロジェクトがあります (私が作成したものではありませんが、クラッシュの原因を突き止めようとしています)。一度に読み込まれる約 8 つのテクスチャが含まれており、サイズはすべて 512x512 です。ゲーム内の画面には、おそらく約 10,000 個のポリゴンしかありません。

iPad 2 の Instruments で実行すると、最大で約 60 MB になり、そのマシンのメモリ容量の範囲内にあるようです。ただし、iPad 1 で実行しようとすると、再起動してメモリをクリアした後でも、Instruments は、クラッシュする前に約 40 MB の読み込みに達することを示しています。

iPad 1 が 40 MB を超えて処理できない理由はありますか? iPad 2 の 512 MB と比較して、iPad 1 は 256 MB しかないことは承知していますが、これはデバイスの能力の範囲内にあるのでしょうか?

編集: iPad 1 は iOS 4.2.1 を実行しており、iPad 2 は iOS 5.1 を実行しています。

4

2 に答える 2

1

iPad 1 にインストールされている iOS のバージョンは不明であり、OS によって使用されるベース メモリが変動する可能性があります。

私の経験では、40MB の制限は、メモリ警告が呼び出される前に、RAM が 256MB しかない Apple デバイスで見られる 30 ~ 50MB の範囲と一致しています。

于 2012-04-27T12:25:59.413 に答える
0

アプリを機能させるために、iPad1 のサポートを捨てる必要はありません。この問題を回避する方法は、テクスチャを解凍してから、それぞれをファイルに書き込むことです。次に、各ファイルをメモリ マップし、通常のメモリ アドレスの代わりにメモリ マップされたアドレスを使用します。iOS デバイスは、この方法でファイルから約 700 MB のデータをマップでき、通常の opengl の方法でメモリをグラフィック カードに送信できます。

于 2013-07-19T17:56:25.933 に答える