在即將面世的Mesa 24.3版本中,Valve的Linux驅(qū)動團(tuán)隊(duì)對RADV(Radeon Vulkan)驅(qū)動程序?qū)嵤┝岁P(guān)鍵性優(yōu)化,顯著增強(qiáng)了AMD FSR 2在RDNA 2架構(gòu)硬件上的運(yùn)行效率,性能躍升幅度驚人,達(dá)到了228%。
值得注意的是,此番性能飛躍是基于FSR2示例應(yīng)用程序的測試結(jié)果,而非FSR2算法核心層面的改進(jìn)。
RADV驅(qū)動,作為Linux平臺上AMD GPU的開源Vulkan驅(qū)動解決方案,憑借其開放源代碼的特性,在開發(fā)者社區(qū)中贏得了廣泛贊譽(yù)與青睞。然而,在過去近兩年的時(shí)間里,RADV驅(qū)動在啟用FSR 2技術(shù)時(shí)的性能表現(xiàn),始終略遜于AMD官方的AMDVLK/AMDGPU-PRO Vulkan驅(qū)動。
這一瓶頸終于被Valve的工程師Samuel Pitoiset以精妙的手法打破。他通過對驅(qū)動代碼進(jìn)行細(xì)致入微的調(diào)整,僅通過改寫不到二十行代碼,便成功解鎖了RADV驅(qū)動的性能潛力。
問題的根源在于RADV驅(qū)動在處理FSR 2中的特定特性——原始對象剔除(culling)時(shí)的方式。在渲染流程開始之前,有效地剔除不必要的原始對象,如多余的三角形和線條,對于節(jié)省計(jì)算資源和功耗至關(guān)重要。然而,與AMDGPU-Pro驅(qū)動相比,RADV在處理W位置為零的原始對象剔除時(shí)效率不高,導(dǎo)致進(jìn)行了大量額外且不必要的計(jì)算,進(jìn)而拖累了FSR 2應(yīng)用的性能表現(xiàn)。
Samuel Pitoiset通過精準(zhǔn)調(diào)整AMD NIR代碼,強(qiáng)制在W位置為零的情況下執(zhí)行剔除操作,這一簡單而有效的改動,使得RDNA 2 GPU在啟用FSR 2技術(shù)時(shí),RADV驅(qū)動的性能實(shí)現(xiàn)了質(zhì)的飛躍,提升幅度高達(dá)228%。
此次改進(jìn)將作為Mesa 24.3開發(fā)版的一部分,通過官方渠道向廣大用戶推送,為Linux平臺上的AMD GPU用戶帶來更加流暢、高效的游戲體驗(yàn)。