JPG 形式から非常に大きなテクスチャをロードしています。iOS5 以前では、Apple サンプルの Texture2D クラスを使用して JPG テクスチャを RGB888 から RGB565 形式に変換し、必要なメモリ領域を半分にしました。その後、glTexImage2D を使用して RGB565 形式で GPU にアップロードされます。
iOS5 では、新しい GLKTextureLoader を使用するように呼び出しを変換しています。ただし、JPG にはアルファ チャネルがなくても、RGB888 を使用しているだけで、GPU で 2 倍のメモリを占有しているようです。
GPU にアップロードするときに GLKTextureLoader に RGB565 を使用させる方法はありますか? 現在 [GLKTextureLoader textureWithContentsOfFile:jpgFile] を使用しています。また、[GLKTextureLoader textureWithContentsOfData:data] を試して、生の RGB565 ビットマップの NSData を渡しましたが、「{GLKTextureLoaderErrorKey=画像のデコードに失敗しました}」というエラーが表示されます。