我们在 AMD GPU 上的网格着色器和 MultiDrawIndirect 性能方面得到了一些新的可疑结果。让我们看看当我们使用没有索引缓冲区的独立三角形渲染几何体时的情况。VS Draw Array 列表示此渲染模式,其中顶点着色器调用的数量等于图元数量乘以 3。从技术上讲,此模式与网格着色器渲染模式相同,但不生成索引。这就是为什么令人惊讶地发现它比 6700 XT 上的 MultiDrawIndirect 和 Mesh Shader 更快。因此,如果您正在优化顶点缓存的几何图形或生成尽可能最佳的网格,那么对于 AMD GPU 来说这样做是没有意义的。其他 GPU 可以在相邻三角形之间共享“顶点着色器”输出。
VS 绘制元素 | VS 绘制数组 | MDI | 多发性硬化症 | CS | |
---|---|---|---|---|---|
Radeon 5600 M | 5.0乙 | 1.5乙 | 1.1乙 | 8.3乙 | |
Radeon 6700 XT | 14.5乙 | 4.8乙 | 4.1乙 | 4.6乙 | 19.5乙 |
Radeon 6900 XT | 17.6乙 | 7.2乙 | 4.1乙 | 9.1乙 | 34.5乙 |
GeForce RTX 2080 Ti | 12.3乙 | 5.6乙 | 12.5乙 | 13.3乙 | 18.3乙 |
GeForce RTX 3090 | 14.3乙 | 5.9乙 | 14.6乙 | 20.7乙 | 28.8乙 |
英特尔DG1 | 1.3乙 | 227米 | 1.1乙 | 2.5乙 | |
苹果M1 | 1.4乙 | 556米 | 930米 | 2.5乙 |