僅改動十幾行代碼:AMD FSR2性能暴漲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的一部分,通過官方發佈提供給用戶。