iPhone模拟器:OpenGL ES:内部纹理格式

时间:2010-12-09 10:21:34

标签: iphone ipad opengl-es

在iPad模拟器中经过多次测试后,我发现GL_RGBA GL_UNSIGNED_SHORT_4_4_4_4格式的1024x1024 16位纹理分配4 MB内存,即1024x1024 32 bpp。目前我无法在真实设备上测试此行为。

有人知道iPad是否支持每通道RGBA 4位吗?

在文档中建议使用GL_UNSIGNED_SHORT_4_4_4_4来提高内存效率,建议使用模拟器进行内存测试......这里有些问题。

1 个答案:

答案 0 :(得分:3)

实际上,OpenGL ES Programming Guide for iOS告诉您在模拟器上测试性能:

  

重要:渲染效果   模拟器中的OpenGL ES没有任何关系   对OpenGL ES的性能   实际设备。模拟器提供了一个   优化的软件光栅化器   利用矢量   你的处理能力   Macintosh电脑。结果,你的   OpenGL ES代码可能运行得更快或   在iOS模拟器中较慢(取决于   你的电脑和你是什么   绘图)而不是实际的设备。   始终描述和优化您的   在真实设备上绘制代码和   永远不要假设模拟器反映   现实世界的表现。

在该指南的“Best Practices for Working with Texture Data”部分,他们建议使用PowerVR纹理压缩(PVRTC)纹理而不是任何未压缩格式。 PVRTC纹理将使用比任何未压缩格式少得多的内存(与32位未压缩纹理相比,可减少8倍或16倍)。

关于每个通道的4位,它们说明了这一点:

  

如果您的申请无法使用   压缩纹理,考虑使用   较低精度的像素格式。一个   RGB565,RGBA5551或   RGBA4444格式使用一半的内存   RGBA8888格式的纹理。