我正在使用alpha测试渲染很多大图像,而且我正在达到填充率。
如果我将纹理格式从RGBA8888更改为RGBA4444,填充率会提高吗?
编辑:硬件是Iphone 3GS和OpenGL版本1.1
答案 0 :(得分:2)
做了一些测试我发现了以下内容:
似乎从rgba8888更改为rgba4444并不能提高帧率。但是使用pvrtc2可能会这样做。
答案 1 :(得分:1)
您没有指定您询问的特定硬件,但Apple有this来说明iOS设备中的PowerVR GPU:
如果您的申请无法使用 压缩纹理,考虑使用 较低精度的像素格式。一个 RGB565,RGBA5551或 RGBA4444格式使用一半的内存 RGBA8888格式的纹理。使用 RGBA8888仅适用于您的应用程序 需要那么高的质量。
虽然这会提高内存使用率,但我不确定它会对填充率产生显着影响。你可能会看到能够同时在缓存中保存更多纹理的改进,但我会听到Tommy关于每像素操作更有可能成为瓶颈的观点。
此外,在纹理尺寸方面,通过使用纹理压缩(如PowerVR GPU的PVRTC),您可以在较小尺寸下获得更好的图像质量,而不是降低纹理像素格式的精度。