传输平面 YUVA 图像以在 OpenGL 中渲染的最有效方法是什么?
目前我正在使用 4 个单独的纹理(Y、U、V、A),我在每个帧中从 4 个单独的 PBO 上传到这些纹理。然而,在少数纹理中传输大量数据似乎要高效得多,例如将 YUV422 传输到单个打包纹理比将相同数据传输到 3 个(Y、U、V)单独纹理快约 50%。
我对此事的一些想法是我是否可以使用 2 个阵列纹理,一个用于 (Y, A),一个用于 (U, V),这样会更快吗?
我考虑过的另一种选择是在将数据复制到 PBO 进行传输时从平面转换为打包,尽管这确实有一些 CPU 开销。
有什么建议么?
注意:暗淡(Y)==暗淡(A)&&暗淡(U)==暗淡(V)&&暗淡(Y)!=暗淡(U)。