在片段着色器中尝试优化我的金属渲染性能时,我注意到有几种方法可以从纹理中读取,具体取决于场景。我想知道纹理读取方法是否具有性能影响。
以下是我尝试的三种不同选择:
tex2D.read()
(使用uint2
坐标)。tex2D.sample()
与像素坐标一起使用(使用float2
坐标)tex2D.sample()
与规范化坐标一起使用(使用float2
坐标)。我是否应该期望iOS在这些选项之间存在性能差异?
答案 0 :(得分:2)
它们通常相似。有人可能需要比另一个更多的工作来在uint2 / float2之间转换坐标,但这个效果应该是次要的。
读取具有未定义的行为,用于在图像外部进行读取,因此需要考虑这一点。