私は午前中ずっとこれに苦労してきました。まだデバイスでテストできないので、プロファイラーが表示するものに頼って、大きな問題がないことを大まかに確認します。私が真剣に考えていることの 1 つは、Cocos2d またはカスタム コード (openGL を直接供給する) で 2D テクスチャを作成するたびに、プロファイラーですべてのテクスチャが 2 つの割り当てとして表示されるという事実です。
たとえば、約 1MB のデータであるテクスチャ 512x512x4 を作成すると、ライブ バイトの使用量が 2MB 跳ね上がり、ライブ オブジェクトのリストに、それぞれ 1Mb のメモリの 2 つの重いブロックが表示されます。これはテクスチャとまったく同じです。
そして、その点を強調させてください-これは、デストラクタで削除されるglTexImage2D()に提供した生の画像ファイルではなく、何度もチェックしました。また、Cocos2d のサンプル プロジェクトでも見られた問題は、単純にテクスチャ用のすべてのメモリが 2 倍になっていることです。
以下の 2 つのスクリーンショット - cocos2d アプリからの 1 つは、4 つの割り当てられたオブジェクトとしてプロファイラーに表示される 2 つのテクスチャ 600 KB を示しています。
また、libpng を介して提供される openGL と画像を使用して直接割り当てられ作成されたカスタム テクスチャ - それぞれ 1Mb のライブ 2 つのオブジェクトとして表示されます。
誰かがこれについて私を啓発してくれれば幸いです。おそらく、デバイスの状況では異なって見えます。
よろしく、s。