我正在使用Metal开发iOS应用程序,并且可以选择将RGBA或BGRA用于纹理格式。该应用程序将是:
UIImages
UIImages
中的纹理在选择BGRA上的RGBA时是否存在性能折衷?后两点将我引向RGBA,但我也注意到MTKTextureLoader
默认为BGRA纹理。我找不到任何解决金属中RGBA和BRGA之间差异的应用笔记。
答案 0 :(得分:0)
BGRA是iOS设备上纹理和图像数据的默认和最佳格式。虽然支持RGBA,但是在使用UIImage和CoreGraphics读取RGBA纹理时,使用RGBA格式会导致实际的性能问题,因为这些层会静默地对每个像素重新排列字节(这会损害每个像素的性能)。可以通过设备上的memcpy()复制BGRA本地数据。