NVIDIA第二代光追詳解真那麼厲害?
當玩家之間還在探討20系顯卡的光線追踪是否實用的時候,搭載第二代光線追踪的30系顯卡來了,第二代光線追踪技術在NVIDIA的宣傳中相比上一代都做了哪些改進,今天筆者給大家通俗易懂的進行簡單介紹。
其實,光線追踪(Ray Tracing)的概念在很早就已經被人所提出了。光線追踪技術其實就是將光源產生的光線所產生的折射,反射等光線變化和對陰影產生的反應通過計算準確的反映到畫面之中,為人們帶來百分之百的光影效果。
光線追踪的演變經歷了約半個世紀
光線追踪這一技術對於我們其實不難理解,畢竟在生活中隨處可見,但應用到圖形領域則其算法於1979年由Turner Whitted提出。那麼為什麼直到2006年,皮克斯的《Cars》才開始使用這項技術用於光線渲染呢?那就是因為其所需要的計算量實在是過於龐大,上面提到的Turner這張512×512的渲染DEMO當時支持的計算機就要耗費上百萬美元,還是花費1.2小時才渲染完成,足見其耗費的資源是如何巨大。
相較於初代的Turing RTX架構,NVIDIA Ampere架構在算力上有著成倍的增長,同時新的架構翻倍了光線與三角形的相交吞吐量,RT Core達到58 RT TFLOPS,而Turing為34 RT TFLOPS 。
光線追踪的計算示意圖
怎麼理解上面這句話,首先要知道RT Core的工作原理是,著色器發出光線追踪的請求,交給RT Core來處理,它將進行兩種測試,分別為邊界交叉測試(Box Intersection testing)和三角形交叉測試(Triangle Intersection testing)。
光線追踪計算流程
基於BVH算法來判斷,如果是方形,那麼就返回縮小範圍繼續測試,如果是三角形,則反饋結果進行渲染。
而光線追踪最耗時的正是求交計算,因此,要提升光線追踪性能,主要是對兩種求交(BVH/三角形求交)進行加速。
NVIDIA Ampere增加的部分
在Turing的RT Core中,可以每個週期完成5次BVH遍歷、4次BVH求交以及一次三角形求交,在第二代RT Core 裡,NVIDIA增加了一個新的三角形位置插值模塊以及一個的額外的三角形求交模塊,這樣做的目的是為了提升諸如運動模糊特效時候的光線追踪性能。
運動模糊原理示意
再簡單一點,我們用示意圖來解釋光追,左邊是基本的光線追踪流程,只需要考慮光線的方向,在得出需要追踪的邊界體積後,再計算三角形的相交面,最後輸出結果。
當加入了運動模糊後,除了方向還需要計算時間因素,最終可以得到為以後的圖形。
運動模糊渲染原理
如果要對運動模糊的過程進行完整渲染,第一代RT Core則需要計算多個圖形,最終再進行完整輸出,而第二代RT Core可以讓光線追踪與著色同時進行,進行的光線追踪越多,加速就越快,它將光線相交的處理性能提升了一倍,在渲染有動態模糊的影像時,按照NVIDIA自己的實測,比Turing快8倍。
所以在更為複雜的光線追踪環境下,基於NVIDIA Ampere架構的第二代RT Core相較上一代有著質的飛躍,當然只有光追核心的加強並不能帶來多少實際變化。全新的NVIDIA Ampere GPU核心擁有280億個晶體管,628平方毫米的面積,基於三星的8nm NVIDIA定制工藝,來自美光的最新一代GDDR6X顯存。
除了硬件上的更新,在參數上,GeForce RTX 3080擁有8704個CUDA,相比上一代旗艦同樣有了翻倍的提升,頻率為1440-1710MHz,採用10GB GDDR6X顯存,位寬為320bit,顯存帶寬達到了760.3GB/s,光柵單元和紋理單元分別為96和272。
種種翻倍式的提升,共同構成了有史以來性能最強大的GPU——NVIDIA Ampere。而目前30系顯卡全球斷貨也從側面說明了它的搶手,雖然供貨量不足是一方面,不過也只有當產品足夠好的時候,才會有人關心它的供貨量,不然誰會管呢?