0

如果我使用只读缓存(开普勒)而不是纹理,有人能告诉我性能的提升吗?

我在这里有一个设计决定,保护越界访问:

a) 放一些树枝。检查访问是否将是 OOB 并避免它。

b) 使用纹理寻址模式(边框)。

c) 分配更大的缓冲区...

什么选项会产生更好的性能?

4

1 回答 1

0

您可能必须编写 a) 和 b) 两个版本并相互进行基准测试。

通常很难评估纹理的特性如何,例如

  • 浮点坐标可能需要额外的类型转换
  • 纹理指令的固定寄存器布局可能会增加寄存器压力

对他们的零(-附加)循环边界检查的优势进行评分。

然而,我的一般期望是两者将非常接近。上面提到的(dis-)优势或多或少相互抵消,与全局内存访问的延迟相比,差异将很小。

于 2013-06-10T20:20:17.963 回答