看不懂但激动改动十几行代码:AMDFSR2性能暴涨228%
Valve的Linux驱动团队在即将发布的Mesa 24.3版本中,对RADV(Radeon Vulkan)驱动程序进行了改进,提升了AMD FSR 2在RDNA 2硬件上的性能,性能提升高达228%。
需要注意的是,这种性能提升是围绕FSR2示例应用程序,而不是FSR2算法本身。
RADV驱动是Linux操作系统上AMD GPU的开源Vulkan驱动,因其开源特性而受到社区用户的欢迎。
此前,RADV驱动在启用FSR 2时的性能一直不如AMD官方的AMDVLK/AMDGPU-PRO Vulkan驱动,这一性能差距已存在近两年。
Valve工程师Samuel Pitoiset通过重新编写仅十余行代码,成功解决了这一问题。
问题的核心在于RADV驱动在FSR 2中处理特定特性的原始对象剔除(culling)的方式,在渲染前,剔除不必要的原始对象如三角形和线条可以节省性能和功耗。
与AMDGPU-Pro驱动相比,RADV在处理W位置为零的原始对象剔除时效率较低,导致额外且不必要的计算,从而降低了FSR 2应用的性能。
Samuel Pitoiset通过调整AMD NIR代码,强制在W位置为零时进行剔除,这一改动使得RDNA 2 GPU在启用FSR 2时RADV驱动的性能提升了228%。
这一改进将作为Mesa 24.3-devel的一部分,通过官方发布提供给用户。