我经常听到镶嵌细分着色器由于性能原因而不太理想。顺带一提,如果您尝试使用镶嵌细分着色器,则会发现获取的数据不足,并且无论如何都必须重新进行计算。还是可能这条路径的效率不如另一条路径,并且带宽使用率不高?

谁能解释为什么不建议使用细分曲面着色器的详细信息,以及是否存在细分是一件好事的任何例外情况吗?

评论

我会在收集所有信息后发布答案,以防万一其他人没有这样做,但是与此同时,这是一条面包屑路径,可获取更多信息:twitter.com/Atrix256/status/1032666876264894464

“由于性能原因,我经常听到镶嵌着色器效果不佳。”从谁?出于什么原因?这项特殊指控来自何处?基本上,这个问题的基础是什么?

SIGGRAPH演讲主要是

@AlanWolfe特别哪一个?如果您在SIGGRAPH中经常看到它,那么您应该能够很快指出它,并为我们提供具体的参考。

我没有参考资料。如果您认为我的问题无效,请查看经验丰富的知名图形人员在Twitter上的回答,以解释答案。是真的。

#1 楼

有关细节的答案已在其他地方得到解决:


在移动设备上不好:ARM没有细分单元,因此可以在软件中模拟。基于图块的架构将在像素着色之前将顶点数据写入主内存,这是带宽问题。如果启用不便宜的镶嵌细分,Qualcom将切换到直接渲染模式。
这对AMD / Console不好很难不以某种方式(混叠)获得太大的分辨率,而以其他方式(分辨率较低的结果)则得不到足够的分辨率。您本质上需要知道顶点的屏幕空间导数以计算出良好的镶嵌细分因子,而要获得像样的近似值也不容易。
关于镶嵌细分着色器的一个遗憾是,它们基本上是通过采样离散采样点(在顶点处)来工作的),因此要获得更好的效果,首先需要使用更密集的网格,这会破坏动态细分的目的。可以使用mipmapping类型策略来解决。
尽管在特定情况下,镶嵌游戏仍然被主要游戏使用,地形似乎确实是一种使用情况