ADVERTISEMENT
光線追蹤再加速
RTX 20與RTX 30世代的Turing、Ampere繪圖架構具有加速BVH(Bounding Volume Hierarchy,偵測光線是否有「碰撞」到物體)的Box Intersection Engine運算單元,以及加速多邊型與光線邊框相交測試的Triangle Intersection Engine運算單元,能夠有效協助降低SM的運算負載,讓SM能執行更多傳統的頂點、像素運算。
RTX 40世代的Ada Lovelace繪圖架構除了保留這2種運算單元之外,還將光線多邊形交會(Ray-Triangle Intersection)的運算吞吐量提升2倍,並加入了可以提供透明貼圖光線偵測速度2倍的透明迷你貼圖引擎(Opacity Micromap Engine),以及能夠極大幅提升BVH建構速度與降低佔用容量的迷你網格位移引擎(Displaced Micro-Mesh Engine)。
首先我們先來瞭解透明迷你貼圖引擎的概念。許多遊戲開發者會利用材質貼圖的Alpha通道(透明度)來瞄繪複雜的形狀或半透明物品,舉例來說樹葉或火燄等複雜形狀可以透過少量多邊形搭配Alpha通道完成描繪,並節省許多傳統繪圖的運算需求。不過在光線追蹤繪圖的情況,系統就需要偵測每道光線是否會「穿透」貼圖,而消耗大量運算資源。
在Ada Lovelace導入的透明迷你貼圖引擎,會將貼圖切分為許多細小的虛擬網格,並記錄可供RT核心直接查詢的透明度狀態,若光線碰到標記為「不透明」的區域則會回傳光線碰撞的結果,若碰到「透明」區域則會讓光線繼續前進並找尋下一個碰撞點。如果碰到「未知」區域,系統才會將運算負載交還給SM並運算碰撞狀況,如此一來便可省下可觀的運算量。
迷你網格位移引擎則是可以解決用於描繪物件的多邊形數量越來越多,所衍生的BVH運算量與占用記憶體空間問題。其概念為使用單一的基本三角形(Base Triangle)搭配位移映射圖(Displacement Map),來模擬使用大量多邊型所繪製的物件,如此一來便可簡化光線碰撞的偵測演算,除了可以大幅提升BVH的運算速度,還能大量降低占用記憶體空間,進而提升光線追蹤的整體運算效能。
亂序執行效率更高
為了要提高光線追蹤繪圖的逼真程度,就必需要追加光線的數量與反彈次數,並承受運算需求增加的代價,另外隨機路徑追蹤演算法與複雜的材料表面也都會增加運算複雜度。這些狀況會造成2種不同型式的分歧,執行分歧是同一渲染器內的執行緒處理不同的渲染或程式指令,而資料分歧則是執行緒需要處理難以合併或暫存的記憶體資料,這2種分歧都對於擅長處理大量同質工作負載的繪圖處理器(GPU)相當不友善,並會拖累效能表現。在光線追蹤繪圖中,反射、間接照明和半透明等效果也會造成上述的分歧問題。
Ada Lovelace繪圖架構導入的渲染器執行重新排序(Shader Execution Reordering,SER)能夠即時調度工作分配,以達到更理想的執行效率與資料結構,並發揮提升效能表現的功效。
由於SER技術會大量占用快取記憶體,因此Ada Lovelace系列顯示卡度大幅提升L2快取記憶體的容量,與GeForce RTX 3090 Ti相比,GeForce RTX 4090的L2快取記憶體容量由6MB大幅提升至72MB,來滿足SER運作的需求。雖然先前的顯示卡架構在理論上也能支援SER技術,但受到快取記憶體容量限制,所以效果可能不會太理想。
根據NVIDIA進行的分析,SER能夠提升2倍光線追蹤繪圖效能,並在《電馭叛客2077》Overdrive Mode超高畫質模式下,提升整體FPS效能達44%,可見這項功能的對遊戲體驗有相當大的幫助。
由於SER完全由API所控制,所以遊戲開發者可以透過NVAPI輕鬆導入SER功能(不過這也代表現有遊戲需要透過更新才能支援SER),NVIDIA也表示他們正在開發NSight圖形渲染器的新功能,以簡化SER的最佳化,並與Microsoft和其他公司合作,將SER推廣為標準繪圖API,以讓SER更加普及。
Ada Lovelace除了大幅翻新光線追蹤繪圖的運算架構外,在透過AI進行畫面升頻的DLSS 3技術也有許多亮點,筆者將在下一篇文章中進行介紹與實際測試。
系列文章:
NVIDIA GeForce RTX 4090創始版開箱搶先看,新世代卡王即將降臨!
GeForce RTX 4090效能實測,新世代卡王暢玩4K光線追蹤
NVIDIA Ada Lovelace架構解析(一):光線追蹤效能大爆發(本文)
NVIDIA Ada Lovelace架構解析(二):實測DLSS 3讓遊戲效能再次翻倍
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!