Mesa Radeon Vulkan 驅動程序“RADV”的待定更改導致一些使用許多 Vulkan 圖形管道庫 (GPL) 的遊戲的系統 RAM 使用率大大降低。導致這個問題被調查的遊戲是 Valve 的 Dota 2 on RADV,現在發現這個開源 Radeon Linux 驅動程序使用的系統 RAM 減少了 85%。
著名的 Valve Linux 圖形驅動程序開發人員 Mike Blumenkrantz 在博客中講述了最近在處理導致 RADV 使用過多系統內存的 Dota 2 問題時的冒險經歷。在運行 Dota 2 時,他看到 RADV 驅動程序在系統 RAM 中使用了 3GB+ 內存……然後意識到來自啟用的 RADV 圖形管道庫 (GPL) 支持,這可能是下一季度的默認設置檯面 23.1 發布。
Valve 的 Linux GPU 驅動程序團隊的 Samuel Pitoiset 隨後追踪了該問題,如 Mike 的博客 以及審查中的更改反過來導致系統 RAM 使用減少 85%。
更改 是為帶有 RETAIN 標誌的圖形庫使用序列化 NIR。 Pitoiset 在提交中解釋:
“克隆 NIR 著色器會消耗過多的 RAM,對於創建大量圖形庫的遊戲來說,這很容易在內存中爆炸。使用序列化的 NIR 著色器有很大幫助。
這將帶有 GPL 的 dota2 中的 RAM 使用量從 3GiB 減少到 400MiB。”
此 RADV 驅動程序更改現在正在向 Mesa 推進,下個季度將發布非常令人興奮的 Mesa 23.1,其中包含大量圖形驅動程序改進。