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

iPhone模拟器:OpenGL ES:内部纹理格式,iphone,ipad,opengl-es,Iphone,Ipad,Opengl Es,在iPad模拟器中进行了几次测试后,我发现GL_RGBA GL_UNSIGNED_SHORT_4_4_4_4_4_4_4_4_4格式中的1024x1024 16位纹理分配了4MB的内存,即1024x22bpp。目前我无法在真正的设备上测试这种行为 有人知道iPad是否支持每通道4位RGBA吗 文件中建议使用GL_UNSIGNED_SHORT_4_4_4_4_4_4来提高内存效率,建议使用模拟器进行内存测试。。。这里有点不对劲。实际上,告诉您不要在模拟器上测试性能: 重要信息:渲染性能 模拟器中的

在iPad模拟器中进行了几次测试后,我发现GL_RGBA GL_UNSIGNED_SHORT_4_4_4_4_4_4_4_4_4格式中的1024x1024 16位纹理分配了4MB的内存,即1024x22bpp。目前我无法在真正的设备上测试这种行为

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

文件中建议使用GL_UNSIGNED_SHORT_4_4_4_4_4_4来提高内存效率,建议使用模拟器进行内存测试。。。这里有点不对劲。

实际上,告诉您不要在模拟器上测试性能:

重要信息:渲染性能 模拟器中的OpenGL ES没有关系 以提高OpenGL ES在计算机上的性能 实际设备。模拟器提供了一个 优化的软件光栅化器 利用向量 您的计算机的处理能力 麦金塔电脑。因此,您的 OpenGL ES代码可能运行得更快或更快 iOS模拟器速度较慢(取决于 你的电脑和你是什么 图纸)而不是在实际设备上。 始终配置和优化您的 在真实设备上绘制代码,并 永远不要假设模拟器反映了 真实世界的表现

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

关于每个通道的4位,它们确实指出:

如果您的应用程序无法使用 压缩纹理,考虑使用 低精度像素格式。A. RGB565、RGBA5551或 RGBA4444格式使用一半内存 RGBA8888格式的纹理

实际上,命令告诉您不要在模拟器上测试性能:

重要信息:渲染性能 模拟器中的OpenGL ES没有关系 以提高OpenGL ES在计算机上的性能 实际设备。模拟器提供了一个 优化的软件光栅化器 利用向量 您的计算机的处理能力 麦金塔电脑。因此,您的 OpenGL ES代码可能运行得更快或更快 iOS模拟器速度较慢(取决于 你的电脑和你是什么 图纸)而不是在实际设备上。 始终配置和优化您的 在真实设备上绘制代码,并 永远不要假设模拟器反映了 真实世界的表现

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

关于每个通道的4位,它们确实指出:

如果您的应用程序无法使用 压缩纹理,考虑使用 低精度像素格式。A. RGB565、RGBA5551或 RGBA4444格式使用一半内存 RGBA8888格式的纹理


在技术会谈中,苹果的标准建议是(i)使用PVR格式;(ii)利用提高纹理分辨率所节省的空间。因此,这是一个比显而易见的更微妙的质量/空间权衡。谢谢。我知道模拟器的性能很差,因为软件渲染。我说的是内存消耗。是的,设备支持每个通道4位,所以在我的情况下,使用模拟器测试内存分配是个坏主意。谢谢你提醒我使用PVRTC@安东-在我的基准测试中,模拟器总是优于当前的设备,这仅仅是因为Mac桌面硬件功能强大得多。基于Intel的Mac桌面设置和ARM iOS设备的内存使用情况也有很大不同,因此在模拟器中进行任何性能测试都没有意义;(ii)利用提高纹理分辨率所节省的空间。因此,这是一个比显而易见的更微妙的质量/空间权衡。谢谢。我知道模拟器的性能很差,因为软件渲染。我说的是内存消耗。是的,设备支持每个通道4位,所以在我的情况下,使用模拟器测试内存分配是个坏主意。谢谢你提醒我使用PVRTC@安东-在我的基准测试中,模拟器总是优于当前的设备,这仅仅是因为Mac桌面硬件功能强大得多。基于Intel的Mac桌面设置和ARM iOS设备的内存使用情况也有很大不同,因此在模拟器中进行任何性能测试都没有意义。