html
2022年,英偉達在其RTX 40系列GPU中引入了硬件級別的著色器執行重排序(SER),讓光線追蹤沒那么吃性能。現在,它已經是DXR 1.2的正式功能了,包含在新的DirectX Agility SDK(版本1.619)中。公告博客因為滿篇專業術語,讀起來挺費勁的,所以咱們來聊聊它到底有啥用、怎么提升性能的。
說白了,SER就是能減少在很吃性能的光線追蹤或路徑追蹤場景里,每個像素的渲染時間。不可預測性對GPU來說最要命——光線在表面到處亂彈的時候,畫面是好看,但芯片就累垮了。這時候SER就上場了,把各種反射和光線反彈分門別類,讓它們整整齊齊。
它允許GPU跨光線尋找模式,將它們分組以實現更好的并行執行。SER與不透明度微貼圖(OMMs)協同工作,后者是DXR 1.2中的另一個亮點功能。該功能通過告訴GPU在遇到透明或半透明表面時不要運行著色器,從而節省處理能力。
你的顯卡只會給看得見的像素上色,因為不透明度微映射(Opacity Micromaps)會精確提示場景里哪些地方要變不透明(哪些不用)。所以,SER先把相似的射線追蹤著色器分成一組,然后OMM讓它直接跳過那些"看不見"的著色器。減少不必要的著色器運算,就能簡單地在游戲里保持更高幀率,特別是在復雜場景里。
微軟在一篇博客中展示了其SER(著色器執行重排序)的演示,對比了使用和不使用該技術渲染的場景。使用SER后,Nvidia GPU的性能提升了40%,而部分Intel Arc B系列GPU的幀數提升了高達90%。這一功能目前正在標準化中,意味著我們有望看到Intel和AMD在下一代GPU上推出自己的硬件級SER。
本次SDK更新中最后一個值得注意的內容是著色器模型6.9,它實際上讓開發者能直接使用OMM和SER。這將使游戲開發者非常高興,但最終還是要由他們來實現這些功能,玩家才能感受到升級。需要明確的是,這些功能是去年公布的,但直到今天才結束預覽狀態。
博客里還有很多細節我們沒提到,比如對長向量、16位浮點運算的支持,以及減少硬件負擔的通用改動。其中一些針對的是我們今天看到的優化不佳的游戲,這些游戲在低于12GB顯存時運行很吃力。目前這些都還處于早期、主要還是程序員在臨時拼湊的階段,但用不了多久就能在實際中看到效果。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.