首頁>Club>
7
回覆列表
  • 1 # 超能網

    當大家都在發愁,為什麼AMD、NVIDIA兩家都在新的遊戲顯示卡推出上磨磨蹭蹭,NVIDIA終於先走出了屬於自己的第一步。帶著圖靈極具革命性的創新思想,全球第一款支援實時光線追蹤的顯示卡RTX 2080 Ti誕生了,跳過了Votla架構,Turing架構橫空出世,到底它有什麼與眾不同,居然實現了多代計算機圖形學人的實時光線追蹤夢想,下面我們將會以Turing圖靈架構白皮書作為參考,給大家展開講一講那些“光追”的秘密。

    如果以AMD新顯示卡推出週期來看,NVIDIA的釋出節奏是非常好,新品也是接連不斷,但這個僅限於Pascal架構之前了。因為Pascal架構這一代GPU產品組合真的非常多,覆蓋高中低端,所以說NVIDIA顯示卡能取得今天的成就並不是說白來的,是有真材實料在裡面。

    在GTX 1070 Ti推出以後,Pascal架構應當說是走入了尾聲,正當大家以為Volta遊戲顯示卡要登場的時候,來自各方面的煙霧彈都來了,什麼Ampere、Turing架構都來了,一時間真假難辨。最終確認新一代顯示卡為Turing圖靈架構也不過是一個月前的今天——Quadro 8000專業卡的釋出,GeForce遊戲卡的釋出是七天後的德國科隆遊戲展上。那時候我們都錯愕了,居然真的跳過了Volta架構,Turing架構橫空出世。

    現場釋出了三款支援光線追蹤的新架構顯示卡:RTX 2080 Ti、RTX 2080、RTX 2070,從名字上看,NVIDIA居然能夠捨棄用了這麼多年的GTX字首,改成了RTX,你就知道NVIDIA是多麼地引以為傲。

    當然了,NVIDIA一直在鼓吹的消費升級,在RTX 20系列顯示卡中得到了具體體現,RTX 2080 Ti售價已經高達8199元,GTX 1080 Ti當初售價不過是5699元,漲幅43%,真的是可怕。

    下面是我們針對RTX 2080 Ti、RTX 2080、RTX 2070三張“光追”顯示卡,對比上一代Pascal顯示卡的規格對比表。

    首先Turing顯示卡最明顯的變化就是,目前是一個核心對應一個型號,TU102是RTX 2080 Ti專屬、TU104是RTX 2080專屬,TU106是RTX 2070專屬,而上一代GTX 2080、GTX 2070共用同一款GP104核心。

    Turing顯示卡將會採用12nm FFN工藝打造,技術供應方來自臺積電,據說12nm FFN最後的“N”代表著這是專門為NVIDIA最佳化的版本。根據TSMC此前公佈的資料,它實際是基於12nm FFC工藝改進的,效能是後者的1.1倍,功耗只有後者的70%,核心面積則可以縮小20%。

    儘管有了新制程的支援,Turing GPU核心面積也是水漲船高,原本想RTX 2070這個級別應該是用中端GPU,不過一看核心面積居然有445mm2,比上一代GTX 1080的314mm2大上不少,只逼GTX 1080 Ti的GP102大核心,可見NVIDIA在裡面塞了多少電晶體!

    冷靜地分析一下,Turing核心面積暴漲原因其實並不是暴力堆砌CUDA單元結果,而是引入了全新的Tensor Core以及RT Core單元有極大關係。而它們的出現成就了Turing圖靈顯示卡最大亮點——遊戲也可AI、實時光線追蹤不是夢!

    按照NVIDIA公佈的Turing架構亮點可以分為四大部分:全新的核心架構、Tensor Core 、RT Core 、更先進的著色技術,我們將會以這四個作為主線索,跟大家逐一聊聊。

    全新的Turing核心架構

    之前我們都說過三款新顯示卡都有不同的GPU核心,其實它們內部結構都是發生了很大變化。

    RTX 2080 Ti TU102核心規模真的非常大,TU102核心一共分為6組GPC單元,每組GPC單元又擁有12個SM單元,一共是72個SM單元,但RTX 2080 Ti也只用到其中的68個而已,算下來68×64=4352個CUDA流處理器。同時按照RTX 2080 Ti已經公佈的引數,可以計算得出,每個SM單元將會配備64個CUDA、8個Tensor Core 、1個RT Core,單SM單元配給64個CUDA的做法,倒像是從前GP100大核心喜歡做的事情,原因會在後面給出。

    TU102

    完整版的TU104核心依然是6組GPC單元,不過每組GPC改為8個SM單元,一共是6×8=48個,而RTX 2080的GPU核心是TU104-400,只用上了46組,還有預留有2組空缺的,46×64=2944個,規模要比RTX 2080 Ti小多了,真怨不得RTX 2080 Ti為什麼貴那麼多。

    TU104

    RTX 2070顯示卡它有點讓人意外,使用的是TU106核心,你可以將其視作RTX 2080 Ti規格砍半,3組GPC單元,3×12=36組SM單元,經過計算,RTX 2070是滿血版的TU104核心,36×64=2304個CUDA單元。

    TU106

    看完大方面的GPU架構改動以後,將重點放回到小小的SM單元上,看看裡面的一些新變化。

    Turing 圖靈架構性亮點

    Turing圖靈架構採用全新的SM設計——Turing SM單元,與Pascal架構相比,每個CUDA Core效能提升50%,效果顯著。

    50%的效能提升主要是依靠兩個比較關鍵的技術實現

    Turing架構SM單元融合很多Volta架構的特性,比方說一個TPC裡面包含了兩個SM單元,而在Pascal架構當中只有一個。另一方面,Turing的SM單元內部運算單元有了全新的組份以及分配方式。

    Pascal架構中的128個FP32運算單元,在Turing架構中變成了擁有64個FP32、64個INT32、8個Tensor Core 、1個RT Core,FP64單元徹底不見了,同時添加了獨立的INT資料路徑,類似於Volta GV100 GPU的獨立執行緒排程,支援FP32和INT32操作的併發執行。

    Turing架構SM單元還為共享快取、L1快取、紋理快取引入了統一架構,可以讓L1快取更充分利用資源。Turing的L1快取與共享快取大小是靈活可變的,可以根據需要在64+32KB或者32+64KB之間變換,目的在於減少L1快取延遲,並提供比Pascal GPU中使用的L1快取更高的頻寬。同時L2快取容量大大地提升至6MB,是Pascal架構的兩倍。

    根據NVIDIA官方資料顯示,與Pascal架構相比,Turing架構每個TPC頻寬命中效果增加2倍。

    當前遊戲應用程式中一組著色器工作負載的結果

    Turing Tensor Core

    其實Turing裡面真的有很多Volta的影子,比如Tensor Core首次出現在Votla架構中,而Turing架構對其進行了增強。還增加了新的INT8和INT4精度模式,FP16半精度也能夠被完整支援。

    Tensor意思就是張量,區別於我們常見的標量(0維)、向量(1維)、矩陣(2維),張量擁有3維或者更高維,本質核心上就是一個數據容器,可以包含更多維度資料。而目前深度學習就是透過極大量資料運算計算出最終結果,通常會用到矩陣融合乘加(FMA)運算,而Tensor Core區別於ALU整數運算,天生就是為這種矩陣數學運算服務。

    它可以將兩個4×4 FP16矩陣相乘,然後將結果新增到4×4 FP16或FP32矩陣中,最終輸出新的4×4 FP16或FP32矩陣。NVIDIA將Tensor Core進行的這種運算稱為混合精度數學,因為輸入矩陣的精度為半精度,但乘積可以達到完全精度。

    每個Tensor Core可以使用FP16輸入在每個時鐘執行多達64個浮點融合乘加(FMA)運算,新的INT8精度模式的工作速率是此速率的兩倍。Turing Tensor Core為矩陣運算提供了顯著的加速,除了新的神經圖形功能外,還用於深度學習訓練和推理操作。

    Tensor Core FP16、INT8、INT4算力,以RTX 2080 Ti為例

    Pascal和Turing Tensor Core之間配置比較。

    深度學習特性——NVIDIA Neural Graphics Acceleration(NGX

    Tensor Core開發之初是為了加速深度學習能力,用在遊戲顯示卡上顯然很浪費,為什麼NVIDIA還要堅持塞入了到Turing遊戲顯示卡中呢?

    NVIDIA將張量單元引入到Turing架構當中,意味著可以在遊戲中首次實現深度學習,主要是依靠NVIDIA NGX AI框架,可以在遊戲中實現諸如深度學習超級取樣DLSS、AI InPainting、AI Super Rez、AI Slow-Mo等功能。簡直就是萬物基於AI的真實寫照!

    由於有了Tensor Core,它可以加速實現一些過去非常繁瑣功能,建立起屬於GPU的DNN深度神經網路,用於加速處理遊戲中的部分特性,實現遊戲也能AI。

    注意NGX的功能與NVIDIA驅動密不可分,很多功能都是依賴於NVIDIA GeForce Experience軟體實現的,會自動匹配Turing顯示卡並且下載NGX Core軟體包,並且提供對應服務,比方說深度學習超級取樣DLSS、AI InPainting、AI Super Rez、AI Slow-Mo等功能。

    深度學習超級取樣DLSS:

    現在很多遊戲畫面不是直接渲染得出的,多數都有後處理,也就是各種抗鋸齒技術,舉個NVIDIA的TAA例子,它是一種基於著色器的演算法,它使用運動向量組合兩個幀來確定前一幀的取樣位置,雖然效能開銷差不多,但效果卻不如其他AA技術。因此NVIDIA利用Tensor Core開發出了DLSS,實現在較低的輸入樣本數下更快地渲染,輸出渲染畫面與TAA質量相似。但由於Tensor Core的加速處理, RTX 2080 Ti的渲染能力要強得多,幾乎是GTX 1080 Ti的2倍。

    針對每一個遊戲,會實現建立起對應的訓練網路,收集數千個以64×超級取樣生成參考畫面,經過對畫素點進行64次偏移著色合成輸出後,理論上畫面細節具有近乎完美的影象效果。同時還會生成正常的渲染影象,然後要求DLSS網路響應輸出對應結果,觀察與64×超級取樣畫面差異,調整網路權重,經過多次迭代以後,DLSS自行學習產生的結果將具有與64×超級取樣畫面相同質量的細節,還可以避免TAA產生的運動模糊等問題。

    不過需要明確的是DLSS訓練網路運行於NVIDIA的超級計算機上,而非你的顯示卡,只不過透過GFE下載了這個遊戲DLSS網路權重引數,可以用非常低開銷復現了超算的結果,這就是NVIDIA為什麼要在Turing顯示卡上引入Tensor Core的原因。這同樣意味著,每一個遊戲都需要事先跑出自己的DLSS網路,然後由NVIDIA透過GFE軟體分發給玩家,所以這也是為什麼非Turing顯示卡不能使用DLSS的原因。

    首批支援DLSS(大力水手)的遊戲,共15款

    AI InPainting:說白了就是為了補全圖片中缺失的內容,或者是幫你去掉不想要的東西,堪稱最強PS摳圖!而NGX InPainting演算法依賴於來自大量真實世界影象的訓練來合成新內容,它同樣是運行於超算得出的深度神經網路中。詳見我們的新聞——《NVIDIA再出AI黑科技,完美去除圖片噪點、水印》

    AI Super Rez:它可以將原影片的解析度清晰地放大2倍、4倍、8倍,影象更加銳利。

    AI Slow-Mo:利用AI人工智慧技術,可以將普通常見的30fps進行智慧插幀計算,可以獲得240/480fps的慢動作影片。這個對於影片內容創作者來說可是個巨大福利,在一些需要慢放的鏡頭不再需要專門高幀率攝像頭機,只要透過AI運算就能獲得讓人覺得流暢慢動作影片。詳見我們的新聞——《NVIDIA AI黑科技,30fps可插幀成480fps慢動作影片》

    RT Cores

    Turing儘管很多特性都是傳承於沒有遊戲卡的Volta架構,但RT Core的加入,讓Turing顯示卡實現計算機圖形學的一大突破,Real-Time Ray Tracing實時光線追蹤成為了可能。我們也在超能課堂——《RTX顯示卡支援的實時光線追蹤是什麼?》中詳細地描述過實時光線追蹤是怎麼一回事,其效果就不說了,這絕對是Turing顯示卡的核心靈魂,也是架構的最大進步,以至於NVIDIA利用了非常大的篇幅來描述他們是怎麼實現的。

    不可否認光柵化在過去功勞,一直以較小的資源開銷實現更逼真的光影場景效果,但事實上它是有不可解決的侷限性,會在渲染出現違反物理現象的畫面,但實時光線追蹤是基於物理上的一種密集渲染方式來還原,不存在這一缺點。這就是為什麼NVIDIA堅持讓顯示卡加入RT Core實現更逼真的遊戲場景。正如我們的觀點,光柵化與實時光線追蹤不是對立的,NVIDIA也認為兩者結合是最好的,也就是混合渲染,光柵化用於普通、需要高效處理的場景中,而光線追蹤用於最具視覺效果的地方,比方說水面反射、鏡子反射、玻璃折射等。

    其實不能實現全光線追蹤渲染的原因在於,目前顯示卡效能還達不到要求,因為考慮到場景複雜程度、解析度、最終效果,不能指望說每個畫素都能投射出數百條光線進行渲染計算,算力完全跟不上,只能在次要景物上“偷工減料”,減少投射的光線數目,由於樣本數目太少,可能會因為蒙特卡洛積分近似求解中樣本數量不足,導致畫面會有大量噪點。NVIDIA透過針對極低樣本數量的光線追蹤結果進行實時降噪的研究,在GameWorks SDK中一個光線追蹤降噪模組,也就是Denoising演算法。最終可以用比較低樣本的光線追蹤應用到實時渲染中,最終渲染質量可以媲美大樣本下的光線追蹤收斂影象。

    其實在沒有RT Core幫助下,Pascal架構顯示卡也能實現光線追蹤,但效率奇低,主要是因為BVH遍歷的過程需要透過著色器操作來執行,並且每個光線投射需要數千個指令來計算BVH中的邊界交叉點,直到最終擊中三角形。你想想一個畫素點有100條光線,一條光線需要數以萬計的指令來完成計算,就這處理速度完全達不到實時光線追蹤需求。

    但RT Core 可以,其實它有點像是Tensor Core,不過只是專門為光線追蹤計算服務,實質上它是一條特異化的專用流水線,用於加速計算邊界體積層次(BVH)遍歷以及光線和三角求交(光線投射)。由於ASIC都擁有非常高效的特性,不像CUDA這種通用單元,效率當然有平方級的提升。

    RT核心包括兩個專用單元:第一個進行邊界框計算,第二個進行射線三角交叉計算

    高效的實時光線追蹤實現主要是從Ray Triangle Intersection和BVH Traversal入手解決,Ray Triangle Intersection就是尋找光線和三角形的交點位置的過程;BVH Traversal透過這演算法就可以大大減少計算每一條光線最近的交點所需要遍歷的三角形的數量,在一次渲染中這個預處理只需要進行一次,就可以供所有光線使用。

    因此一個SM單元中只需要配備一個RT Core即可,因為SM單元只是個引子,用於啟動Ray probe,剩下的工作全都交由RT Core處理,會自動計算執行邊界體積層次(BVH)遍歷以及光線和三角求交,並且向SM單元返回結果,從而節省SM單元執行的數以千計的指令。同時SM單元可以自由地執行其他任務,比如是頂點生成、計算這色等。因此一個GPC單元中SM單元數目發生重大變化,有可能是與RT Core效能匹配相關,畢竟兩者相輔相成,誰跑得太快或者太慢都是不行的。

    最後RT Core還要配合GameWorks SDK的光線追蹤降噪模組、RTX API等軟體層面的協同工作,才能一張Turing顯示卡就能實現實時光線追蹤。

    最終RTX 2080 Ti每秒鐘可以追蹤10G條光線,78T的RTX-OPS;RTX 2080每秒追蹤光線降低至8G條,RTX-OPS也降低至60T;RTX 2070每秒能追蹤的光線只有6G條,45T RTX-OPS;而Pascal的遊戲皇者GTX 1080 Ti只能追中1.1G條光線,RTX-OPS只有11.3T,RT Core效能是非常強勁的。

    哦對了,NVIDIA定義的RTX-OPS效能是這樣計算的, RTX-OPS= TENSOR * 20% + FP32 * 80% + RTOPS * 40% + INT32 * 28%

    RTX光線追蹤效果對比(記住了RTX不一定代表實時光線追蹤,還可能是支援DLSS):

    先進的渲染技術

    Mesh Shading:由於現在遊戲場景很複雜、規模也很宏大,如果用原本的方式生產三角形,會消耗太多的CPU draw call,而Mesh Shading引入了一種更靈活的模型,可以讓開發人員能夠規避CPU效能瓶頸並使用更高效的演算法來生成三角形。

    Variable Rate Shading (VRS):Turing架構引入了一種全新更加靈活的控制著色率的功能,稱為VRS可變速率著色。使用VRS,現在可以在每個16× 16畫素區上動態調整著色速率,有助於提升幀數。

    Content Adaptive Shading、Motion Adaptive Shading、Foveated Rendering

    Texture-Space Sharing(TSS):TSS技術中,其著色值將會被動態計算並作為紋理空間中的紋素儲存起來,當畫素被紋理對映,其中螢幕空間中的畫素被對映到紋理空間,並且使用標準紋理查詢操作對相應的紋素進行取樣和過濾。透過這項技術,以完全獨立的速率和獨立解耦座標系統對可見性和外觀進行取樣。使用TSS,開發人員可以重新使用在分離的著色空間中完成的著色計算來提高質量和效能。

    Multi-View Rendering (MVR) :這是Pascal架構上的SMP功能擴充套件版本,MVR允許從多個視角進行高效的場景繪製,Turing硬體每次透過最多支援四個視角,API級別最多支援32個視角。

    GDDR6

    由於現在顯示器解析度不斷提高,而且紋理貼圖尺寸更大,渲染技術也越來越複雜,資料互動量非常大,視訊記憶體帶來以及容量大小在影響GPU效能中佔比越來越大,為了解決這一瓶頸,NVIDIA首次採用了GDDR6視訊記憶體。

    我們在超能課堂——《NVIDIA RTX“光追”顯示卡的秘密——GDDR6視訊記憶體》中提及過,GDDR6繼承了GDDR5X中的16bit預取寬度,使用了改進版的QDR 4倍資料倍率技術,GDD6視訊記憶體速度因此可以拋開GDDR5一大截,直接從12Gbps起跳,而NVIDIA本次在Turing顯示卡上全部採用14Gbps版本。其次GDDR6使用雙讀寫通道問題,帶來明顯的效能提升。第三,而GDDR6標準下未來最高容量可以達到32Gb,換算過來單顆粒就是4GB,目前NVIDIA在Quadro專業卡用單顆粒2GB,在GeForce遊戲卡上用單顆粒1GB;第四,GDDR6工作電壓也同步GDDR5X下降到1.35V上,實現功耗、漏電率下降,從而降低產品的總功耗。

    NVIidia提到另一個,由於目前GDDR6等效頻率非常高,需要端到端的最佳化,最佳化PCB設計,減少訊號串擾問題。目前使用了GDDR6視訊記憶體的圖靈顯示卡有著50%以上的頻寬提升。

    這倒是不假,GTX 1080 Ti 11GB 11Gbps的GDDR5X視訊記憶體頻寬才484GB/s,RTX 2070 8GB 14Gbps的GDDR6視訊記憶體頻寬就有484GB/s,RTX 2080 Ti就更厲害了,頻寬都虐了HBM 2,難怪NVIDIA不願意用HBM 2視訊記憶體。產能不足就算了,成本優勢也不高,速度還不快,GDDR6簡直完勝。

    第二代NVLink

    NVIDIA過去為兩張或者兩張以上的顯示卡SLI連在一起\作單一輸出功能設計了SLI橋,採用單個多輸入/輸出(MIO)介面技術,後期又升級為SLI HB橋(Pascal架構,雙MIO介面)。

    而在另一階段,NVIDIA為專業顯示卡、計算卡設計了全新的NVLink,而2016年釋出的Tesla P100是首款搭載NVLink的產品,單個GPU具有160GB/s的頻寬,相當於PCIe 3.0 ×16頻寬的5倍。去年GTC 2017上釋出的TeslaV100搭載的NVLink 2.0更是將GPU頻寬提升到了300G/s(六通道),都快是PCIe 3.0 ×16的10倍。

    NV說RTX 2080/2080 Ti的NVLink是給你上更高的解析度用的

    這一次,NVLink 2.0將會下放到GeForce遊戲上,但目前只有RTX 2080 Ti、RTX 2080才能夠享受這一殊榮,畢竟頂級顯示卡效能足夠強才有需要組建多卡系統,NVLink高頻寬剛好適合使用。

    但具體落實到RTX 2080 Ti、RTX 2080上又有區別了,因為NVLink是有雙通道的,每個通道單向頻寬25GB/s,而雙向頻寬50GB/s。而RTX 2080 Ti能用雙通道,但RTX 2080只能單通道。值得注意,NVLink僅支援雙路SLI,不支援三、四或者更多路SLI。

    而根據我們從廠商瞭解到的訊息,NVLink橋售價不菲,官方賣79美金,但第三方99美金是跑不了,RGB燈就更加酷炫了。

    USB-C、VirtualLink

    隨著科技進步,I/O介面一直都在不斷小型化,臃腫的介面都會面臨淘汰的一天,VGA是這樣、DVI也將會這樣。新上位的是誰?那就是USB Type-C形態影片輸出介面,畢竟介面尺寸小、正反可插、支援資料傳輸+充電多功能,集大成於一身。目前市面上已經開始出現使用USB Type-C介面的顯示器,NVIDIA也選擇增加對其的支援。

    哦對了,USB Type-C只是介面形式,內部其實還是走DisplayPort 1.4協議,最高支援8K解析度。

    不過這個NVIDIA顯示卡上USB Type-C介面可不一般,它不僅僅充當影片輸出介面,還能傳輸資料、充電!那就是之前由微軟、英偉達、AMD、Oculus、Valve牽頭制定的VirtualLink,可以走DisplayPort HBR3協議、USB 3.1 Gen2 (10Gbps)、最高27W供電。能夠簡化虛擬現實裝置的調校準備,比方說HTC Vive本身就需要HDMI、USB 3.0、電源多種線纜,現在一根USB Type -C就搞定了。

  • 2 # 硬體學堂

    NVIDIA在8月20日的科隆遊戲展前釋出會上,正式揭曉了全新一代基於“圖靈”架構的20系遊戲顯示卡。針對圖形效能,NVIDIA帶來了革命性的改進,引入了實時光線追蹤技術。如果你是一名發燒級遊戲玩家,在忍受多年傳統光柵化渲染技術虛虛實實的折磨後,一定會喜歡NVIDIA全新實時光線追蹤技術帶來的真實畫面效果,因為二者在遊戲畫面展現上的差距有著天淵之別。

    顛覆性的技術革新

    實時光線追蹤技術對於很多遊戲玩家來說或許非常生澀,但放在遊戲體驗中我們可以這麼理解,3D大型遊戲憑藉超現實的遊戲環境被玩家所追捧,雙眼直觀感受到的遊戲畫面比傳統2D遊戲更加豐富,這主要歸功於設計師精湛的3D建模技術讓人物、山水變得擬真度極高,但不管遊戲發展的趨勢,我們切實能夠感受的都只能呈現在顯示器平面上,開發者需要透過複雜的轉換將3D遊戲場景轉化為2D畫面,這就需要畫面內每一個物品都和真實環境相似,具備陰影等效果。

    每一位沉浸在遊戲畫面中的玩家都會慢慢發現遊戲世界中的體驗效果並不真實。至於假到什麼程度?可能我們經過某處,物體表現的渲染沒有任何變化或者直接被突如其來的大量人物陰影直接遮蓋。四周環境也不會因你的到來而發生絲毫的變化,該亮的地方依舊很亮,該暗的地方卻沒有變暗。

    換言之也就是整個遊戲內的一切可能出現的陰影都是提前設計好的,只會因玩家的出現而增加,但不會隨玩家的移動而改變。遊戲世界的環境都是設計時固定的,並不會因為玩家角色的變化而隨之變化。

    傳統光柵化渲染

    光柵化渲染其實將一個3D圖形的幾何資訊轉變為一個個柵格組成的2D影象的過程,可以理解為在這個3D圖形的每個點都包含有顏色、深度以及紋理資料,經過一系列計算變換後,將其轉換為2D影象的畫素,進而呈現在顯示裝置上。

    這一過程也就構成了我們視覺所看到的各類陰影效果以及光線投射,直白地說,遊戲的設計者結合環境說一個物體這裡有陰影,並基於這樣的觀點進行計算,進而呈現在遊戲畫面中,我們看到的這一物體就會有一塊非常逼真的陰影,達到逼真的視覺效果。

    如果開發者的判斷是對的,那麼畫面上的效果也就是對的,但是遊戲開發者只能做到無限接近於真實狀態,並不能保證這就是真實的效果。反之,如果開發者的判斷是錯誤的,在不可能出現陰影的地方有了陰影,作為觀看者的我們也沒有任何辦法。

    所以說光柵化技術有非常明顯的缺陷,因為它是一個騙人的技術。

    隨著遊戲產業的發展,幾乎每一款3A級遊戲大作都為玩家構建了一個非常完整的世界。但不管是之前的遊戲還是現在的遊戲,玩家的行為越來越不可控,任何一個單獨的角落、不是正常途徑的路線都能成為玩家經過之地。這種行為對於設計師或者開發者而言,是極大的開發壓力,因為沒有人可以將所有玩家途徑的區域全部考慮在內。

    如果對遊戲場景進行限制又會讓遊戲喪失自由度。通常的處理方式是考慮儘可能多的環境場景,規定GPU在這些特定的場景下進行特定的光柵化渲染,產生陰影等視覺效果。

    它的侷限性在於,當我們途徑一塊並不是規定的區域或角度有所偏差的時候,物體的光柵化渲染效果並不會改變,依舊是設定好的效果呈現。

    造成的結果也就是在體驗遊戲的過程中,看到的一切畫面其實都是提前設定好的,看似真實,但總是會有瑕疵。

    視覺真實的光線追蹤

    標準化的光線追蹤(raytracing)是以光源為起點定義光線,進而追蹤由此產生的光線與物體表面以及光線與光線之間互動關係的過程。但該技術目前實現起來非常困難,因為這一技術需要無限多的光線照射在物體表面,透過反射、折射、漫射等途徑進入最終的“攝像機”成像。這一過程需要耗費大量的算力(當前PC的計算能力無法做到)且會有大量光線損失,此次NVIDIA推出的RTX 20系顯示卡包括現在絕大多數光線追蹤技術採用的都是逆向思維,即以“攝像機”鏡頭為出發點,反向回溯光線並透過這些光線尋找光源。

    可以理解為RTX的光線追蹤是人為定義了射入攝像機的光線總量,透過回溯這些光線反射後以尋找光源,每一個交匯結果都可以被作為是回溯過程中招惹到的光源所發射的光線與物體作用的結果,找不到就丟棄。

    這樣做的好處在於光線關係的起點是攝像機,這就造成光線關係與場景可視的幾何資訊存在高度的關聯性和可遍歷性,也就是所有進入不了視野的光線都將被認為的剔除。

    另外,光線的實際範圍被約束在了可視場景內,方便光線在回溯過程中的排序以及遍歷,光線的處理過程既可以跟shader過程結合,也可以透過direct compute單獨拿出來做獨立數學步驟,就像deferred shading一樣。

    這樣做會極大的加速整個追蹤和交匯檢查過程的效率,我們可以看做是手解高階方程與使用計算機處理的差別。

    當然,他的缺點也是不容忽視的,比如這類實時光線追蹤並不是從光源出發,而是從視角的角度出發,無法做到對真實的光線進行真實的遍歷,人為規定了光線的數量以回溯光線的過程,也就意味著整個過程脫離不開人為定義,錯誤的干擾依舊是不精確甚至錯誤的主要原因。但總的來說,實時光線追蹤技術可以讓玩家體驗到更加真實的遊戲場景,光線決定了物體表現的最終紋理,在體驗遊戲真實性上是一次巨大的技術革新。

    RTX光線追蹤技術

    很多人都說實時光線追蹤追了這麼多年還是追不上,但此次NVIDIA RTX的實時光線追蹤可以認為是歷史上距離真實最接近的一次,在未來數年內甚至引領顯示卡行業的發展。這類說法可能不完全正確,但RTX在實時光線追蹤技術上的突破的確具有劃時代意義。

    我們以10W束標準自然光線的場景遍歷舉例,平均每道光線進行3次互動檢查,大概需要100T的DP算力。而基於DXR環境下的光線追蹤。以16T的SP算力實現100G束光線的單次交匯檢查,這個運算效率的提升的顛覆性的。它將天生與快取體系敵對的光線追蹤過程重新拉回現有渲染流水能夠控制的範圍內,讓現有流水線能夠處理本來無法完成的過程。

    而且效果也是明顯的,雖然這個RT是人為規定的反向回溯,但反向回溯也是回溯,一旦正確回溯到光源,那這條光線就是真實正確的,它與物體之間的所有互動關係所產生的顏色、亮度甚至透視度等變化都將是符合自然規律的,這比光柵化渲染的人為定義光源結果要正確得多。可以說RTX的實時光線追蹤技術以及與最終形態的光線追蹤技術近乎接近。

    還原真實視覺體驗

    以上就是我們對NVIDIA RTX的實時光線追蹤技術的一次簡單解析,我們可以看到,全新的光線追蹤技術對於整個遊戲產業帶來翻天覆地的改變,隨著9月20日的臨近,想必會有更多遊戲大作開始支援實時光線追蹤技術,與往常我們一直深受遊戲設計開發者預設好的“欺騙式”畫面體驗不同,實時光線追蹤技術會將所有遊戲愛好者帶到一片與真實環境無太大差別的世界中,甚至我們可以透過遊戲畫面感受到與真實世界相同的視覺體驗。

    另外,實時光線追蹤在未來絕不僅僅侷限於遊戲市場,由於光線追蹤的演算法與現實的真實世界物理規則幾乎一致,也就是在構建畫面的過程中具備了巨大的優勢。在可預期的未來,實時光線技術將大幅改善實時3D影象的質量,光線效果也將更加真實精準,最重要在於光線追蹤技術突破了渲染的限制,實現了實時光線效果,在傳統渲染引擎面前複雜的影象處理問題也將迎刃而解,變得更加高效簡易。

  • 中秋節和大豐收的關聯?
  • 如果您是老闆,您最希望找個什麼樣的財務負責人?