Mesh Shading技术潜力巨大,配合Vulkan性能提升明显
针对目前的图灵架构显卡,先进的特性诸如光线追踪、深度学习技术我们已经讲得非常多,然而这些却是本次新显卡最明显的提升,或许你已经觉得有些审美疲劳,不过最近Roblox的技术总监Arseny Kapoulkine就在推特上面表示我们很少关注的网格着色技术(Mesh Shading)配合Vulkan API能够实现巨大的性能提升。
Vulkan API我们都很清楚,它跟目前的DirectX 12、Metal,曾经的Mentle在目的上都是一致的:追求挖掘更底层的性能,尤其是在渲染的流水线中找到被浪费或流失的性能,在以前的印象中这是AMD Radeon GPU更加擅长的事情。不过Arseny Kapoulkine最近就在推特上面表示,他自己有编写一套渲染测试脚本,渲染场景中有一百位弥勒佛的雕像,每位雕像拥有108.7万三角形,测试很简单,就是要让显卡计算完这些三角形。
Arseny表示使用自己的RTX 2080显卡,利用最普通的光栅化技术来渲染的话是需要17.2ms跑完测试的,但是如果使用他们自己编写的Mesh Shading代码配合Vulkan API,能够将渲染的时间缩短到6.3ms,换算过来就是大概每秒170亿三角形,大家可以算算速度快多少,而且Arseny表示这是通过SetStablePowerState来计时的,而SetStablePowerState本身会限制显卡的主频,如果解除限制的会时间会进一步缩短到5.4ms,换算过来就是每秒201亿三角形,这算是很可怕的性能,当然最让人惊讶的就是Mesh Shading能够解放Vulkan API的性能,虽然原理上说就是Mesh Shader生成三角形给光栅器,不用CPU慢慢跑三角形,这可能是解放性能的关键。
不过需要注意的是,虽然听起来很值得兴奋,但是这些数字都有些类似我们的实验室数据,Arseny自己都表示有很多魔改的Tweaks,这些都是自己按照自己需要跟习惯做出的改变,未必是常见的标准,而且在实际的游戏里面,需要照顾的远远不只是简单的算三角形。