【发布时间】:2011-03-01 14:57:24
【问题描述】:
我正在使用 Alpha 测试渲染大量大图像,并且达到了填充率。
如果我将纹理格式从 RGBA8888 更改为 RGBA4444,填充率会提高吗?
编辑:硬件是 Iphone 3GS 和 OpenGL 1.1 版
【问题讨论】:
标签: performance opengl-es
我正在使用 Alpha 测试渲染大量大图像,并且达到了填充率。
如果我将纹理格式从 RGBA8888 更改为 RGBA4444,填充率会提高吗?
编辑:硬件是 Iphone 3GS 和 OpenGL 1.1 版
【问题讨论】:
标签: performance opengl-es
做了一些测试,我发现了以下内容:
似乎从 rgba8888 更改为 rgba4444 并没有提高帧率。但是使用 pvrtc2 可能会。
【讨论】:
您没有具体说明您要询问的特定硬件,但 Apple 有 this 介绍 iOS 设备中的 PowerVR GPU:
如果您的应用程序无法使用 压缩纹理,考虑使用 较低精度的像素格式。一种 RGB565、RGBA5551 或 RGBA4444 格式占用一半内存 RGBA8888 格式的纹理。采用 RGBA8888 仅当您的应用程序 需要这种质量水平。
虽然这会提高内存使用率,但我不确定它是否会对填充率产生显着影响。您可能会看到一次在缓存中保存更多纹理的改进,但我会听 Tommy 的观点,即每像素操作更可能成为瓶颈。
此外,在纹理大小方面,与降低纹理像素格式的精度相比,使用纹理压缩(如 PowerVR GPU 的 PVRTC)可以在更小的尺寸下获得更好的图像质量。
【讨论】: