【发布时间】:2022-08-15 16:14:05
【问题描述】:
我尝试在各种网站上查找此内容,包括有关 DirectX 11 Compute Shader 类型的 MS Docs;但我没有发现任何提及这些缓冲区类型的性能差异的内容。
它们在性能方面是否完全相同?
如果不是,在各种情况下使用每种方法的最佳方式是什么?
标签: performance gpu directx-11 compute-shader
我尝试在各种网站上查找此内容,包括有关 DirectX 11 Compute Shader 类型的 MS Docs;但我没有发现任何提及这些缓冲区类型的性能差异的内容。
它们在性能方面是否完全相同?
如果不是,在各种情况下使用每种方法的最佳方式是什么?
标签: performance gpu directx-11 compute-shader
性能最终将不同于 GPU/驱动程序组合。
这里有一个项目可以对那些进行基准测试(线性/随机情况是最有用的)。
如果您想比较 cbuffer 访问与其他缓冲区访问,常量访问也很有用(例如,在 NVidia 上,在执行昂贵的着色器之前执行缓冲区到 cbuffer gpu 复制是很常见的)。
https://github.com/sebbbi/perftest
请注意,不同的缓冲区(在 d3d11 土地上)也有不同的限制。 因此,性能优势可能会受到这些因素的阻碍。
【讨论】: