Valve的Linux驱动团队在最新的Mesa24.3版本中对RADV(RadeonVulkan)驱动程序进行了改进,提升了AMDFSR2在RDNA2硬件上的性能表现。此次升级实现了令人瞩目的228%的性能提升,但需要强调的是,这种提升是基于FSR2示例应用程序而非FSR2算法本身。
RADV是一款开源Vulkan驱动程序,专为Linux操作系统上的AMDGPU设计,并因其开源特性而备受欢迎。然而,在启用FSR2时,该驱动的性能一直不如官方的AMDVLK/AMDGPU-PROVulkan驱动。这一差距已经存在了近两年之久。
工程师SamuelPitoiset通过重新编写仅十余行代码解决了这个问题。问题的核心在于RAVD驱动处理特定特性的原始对象剔除(culling)方式存在问题:当渲染前剔除不必要的三角形和线条等对象时可以节省性能和功耗。
与AMDGPU-Pro相比,RAVD在处理W位置为零的原始对象剔除时效率较低,导致额外且不必要的计算,从而降低了FSR2应用的性能。然而,SamuelPitoiset通过对AMDNIR代码进行调整,在W位置为零时强制进行剔除,这一改动使得RDNA2GPU在启用FSR2时RAVD驱动的性能大幅提升至228%。
这项改进将作为Mesa24.3-devel的一部分,并将于官方发布后提供给用户使用。