現(xiàn)狀——硬件光線追蹤問世四年后
距離 2018 年第一代硬件光線追蹤 GPU GeForce RTX 2080 Ti 發(fā)布已經(jīng)過去了 4 年,根據(jù)目前的最新統(tǒng)計(jì),PC 平臺(tái)上的光線追蹤游戲已經(jīng)達(dá)到 102 個(gè),粗略平均的話那就是每年 25 個(gè)。
其中的一些大作包括例如· 賽博朋克 2077、古墓麗影之暗影、Far Cry 6、漫威蜘蛛俠重制版、地平線 5、生化危機(jī)村莊、地鐵離去等等,其中像地鐵離去還出了一個(gè)強(qiáng)制要求顯卡支持 DXR 特性的增強(qiáng)版。
除了電子游戲娛樂外,還有不少渲染器也都引入了硬件光線追蹤加速,例如以往只提供 Intel CPU 優(yōu)化的工業(yè)渲染器 Keyshot 等也都第一時(shí)間跟進(jìn)了,原因很簡(jiǎn)單,采用硬件光線的確顯著提升了渲染性能,節(jié)約了時(shí)間提高了生產(chǎn)力。
對(duì)顯卡廠商、游戲玩家以及游戲開發(fā)商來說,硬件光線追蹤或者說視覺感染力和游戲是相輔相成的關(guān)系。
電子游戲是離不開視覺感染力的,硬件光線追蹤為更強(qiáng)的渲染效果提供了可能,這不僅是畫面渲染,還包括了基于光線追蹤的音效處理等對(duì)玩家同樣有直觀體驗(yàn)的特性。
相對(duì)于 4 年前的 GeForce RTX 2080 Ti,現(xiàn)在的最新世代 GPU 例如 GeForce RTX 4090、GeForce RTX 4080 在性能方面有了顯著的提升,例如 RTX 2080 Ti 的單精度性能是 14.2 TFLOPS,而新近發(fā)布的 RTX 4080 單精度性能根據(jù)我之前的實(shí)測(cè)達(dá)到了 51 TFLOPS,提升了接近 2.6 倍,在相當(dāng)部分游戲中,像 5800X 這樣去年還屬于旗艦的 CPU 已經(jīng)成為瓶頸。
針對(duì) CPU 瓶頸問題,NVIDIA 為 GeForce RTX 4000 系列引入了名為 DLSS 3 的新超采樣技術(shù),在原來 DLSS 2 空間超分辨率的基礎(chǔ)上,引入了基于硬件光流加速的時(shí)間超分辨率或者說幀合成(frame Generation)技術(shù),能在前后兩幀之間生成一張畫面,在不增加 CPU 開銷的情況下實(shí)現(xiàn)更平滑的畫面過渡效果。在實(shí)際測(cè)試中,DLSS3 FG 能提升大約 30% 以上的幀率。
由于 FG 插幀需要渲染兩幀后才能完成插幀動(dòng)作,會(huì)增加額外的時(shí)延,因此 DLSS 3 還結(jié)合了 Reflex 低時(shí)延技術(shù),用來確保時(shí)延不會(huì)大幅度增加。
一路下來,你會(huì)發(fā)現(xiàn) NVIDIA 在光線追蹤部署方面可謂是有板有眼:中路主打光線追蹤,然后加上不斷升級(jí) DLSS 技術(shù)打輔助,面對(duì) AMD 和 Intel 的疊加圍攻下依然不落下風(fēng),最近的市場(chǎng)份額甚至是不減反增。
除了硬件不斷增強(qiáng),NVIDIA 在軟件方面的動(dòng)作更為有趣。
以 RTX Remix 為例,這是 NVIDIA 趁著 RTX 4090 發(fā)布而推出的一個(gè)游戲魔改(Mod)工具集。魔改是游戲社區(qū)非常盛行的一種文化,已知的魔改作者數(shù)量據(jù)聞?dòng)袛?shù)百萬,每年下載的游戲魔改模組達(dá)到了數(shù)十億次,時(shí)下流行的 10 款電競(jìng)游戲里就有 9 款有魔改。
被魔改次數(shù)最多的游戲 The Elder Scrolls V: Skyrim(上古卷軸 5:天際)和The Elder Scrolls V: Skyrim Special Edition(上古卷軸 5:天際特別版),其中被下載最多的魔改模組均為圖形方面的魔改包。
要修改游戲的圖形是一件非常困難的事情,需要開發(fā)出特定的工具,為每個(gè)素材重建新藝術(shù)作品,NVIDIA 表示,為了開發(fā) Quake II RTX,動(dòng)用了 NVIDIA 工程師、美工、QA 團(tuán)隊(duì)數(shù)個(gè)月時(shí)間才搞定,這還是在獲得源代碼以及其他開發(fā)人員提供的魔改工具前提下實(shí)現(xiàn)的,這樣的開發(fā)強(qiáng)度對(duì)市面上浩若煙海的游戲不斷重復(fù)進(jìn)行是完全不可行的,而且,按照 PCGamingwiki 提供的資料,在已知的 7500 個(gè)游戲里,僅有 28 個(gè)是提供了已轉(zhuǎn)換的可修改格式。
而 NVIDAI 提供的 RTX Remix 工具則是一個(gè)基于 NVIDIA Omniverse 的免費(fèi)魔改平臺(tái),能夠?yàn)椴煌挠螒蚩焖賱?chuàng)建 RTX On 模組,這些模組能提供增強(qiáng)的材質(zhì)、完全光線追蹤、NVIDIA DLSS 3 和 NVIDIA Reflex 支持,即使游戲使用的是老式的 DX8、DX9 世代渲染流水線。
RTX Remix 提供了被稱為 RTX Remix runtime 的 D3D9 runtime,這相當(dāng)于把游戲的渲染接管為 RTX On 功能運(yùn)行時(shí),當(dāng)這些老游戲如常向 D3D9 runtime 發(fā)送渲染指令的時(shí)候,RTX Remix runtime 會(huì)把這些指令攔截下來,將其重命名為不同的數(shù)字資產(chǎn)并重組到相同的場(chǎng)景中。
到了這一步后,RTX Remix 將資產(chǎn)和場(chǎng)景轉(zhuǎn)換為廣泛采用的通用場(chǎng)景描述(USD) 開放式 3D 框架,而這個(gè)框架也是構(gòu)建和操作自定義 3D 管道的NVIDIA Omniverse平臺(tái)的基礎(chǔ)。
由于 RTX Remix 是基于 NVIDIA Omniverse 構(gòu)建的,這些 USD 游戲資產(chǎn)可以輕松導(dǎo)入 RTX Remix 應(yīng)用程序或任何其他 Omniverse 應(yīng)用程序或連接器,包括游戲行業(yè)標(biāo)準(zhǔn)應(yīng)用程序,例如 Adobe Substance 3D Painter、Autodesk Maya、3ds Max、 Blender、SideFX Houdini 和 Epic Games 的虛幻引擎。
當(dāng)資產(chǎn)從 Omniverse 連接器同步到 Remix 的視口時(shí),魔改團(tuán)隊(duì)可以協(xié)作改進(jìn)和替換資產(chǎn),并可視化每個(gè)更改。這個(gè)工作流程能夠改變魔改社區(qū)處理他們其游戲魔改的方式,為模組制作者提供一個(gè)統(tǒng)一的工作流程,將他們的知識(shí)運(yùn)用到各種游戲而無需學(xué)習(xí)大量專有工具。
上圖是上古卷3晨風(fēng)的游戲原圖。
上圖是上古卷軸3晨風(fēng)經(jīng)過 RTX Remix 魔改創(chuàng)作后的實(shí)際畫面
當(dāng)開發(fā)人員制作好 RTX Remix 魔改包后,就可以輕松地將模組導(dǎo)出分享給其他玩家,玩家下載了魔改包后,扔到游戲目錄內(nèi)啟動(dòng)游戲,RTX Remix runtime 就可以完成剩下的工作——RTX Remix 的 64 位 Vulkan 渲染器替換掉舊的渲染 API 和系統(tǒng)。RTX Remix 還提供了這個(gè) runtime 的編輯器,能夠讓玩家實(shí)時(shí)定制各種特效選項(xiàng),例如修改材質(zhì)屬性、添加體積霧等等。
可以看到,RTX Remix 是一個(gè)具有劃時(shí)代意義的魔改工具,對(duì)于許多舊游戲來說可能會(huì)因此再度煥發(fā)新生,在尤其是游戲開發(fā)成本越來越高的當(dāng)下,為各種重制版打開了一條新的快捷開發(fā)途徑。
選擇——有必要采用光線追蹤嗎?
這是一個(gè)常見的有趣問題,特別是目前光柵化渲染還是主流的情況下。
首先,光柵渲染和光線追蹤都是用于確定可視性的一種方式。
眾所周知,光柵化渲染的原理是將場(chǎng)景中的每個(gè)三角形拿出來,扔到屏幕空間上,讓光柵器查找該三角形在屏幕上對(duì)應(yīng)的像素,然后根據(jù)法線、深度緩存、光照、紋理等信息渲染該三角形對(duì)應(yīng)的像素,理論上每個(gè)三角形都要進(jìn)行這樣的操作,為了節(jié)省渲染資源,人們引入了各種剔除、修剪和隱面消除等技術(shù),減少渲染的三角形。
而光線追蹤則是對(duì)渲染分辨率的每個(gè)像素發(fā)射一條或者一束射線,讓其擊中最接近的三角形,根據(jù)擊中點(diǎn)的屬性,確定是被吸收、折射還是反射(后兩種會(huì)產(chǎn)生衍生射線),從而產(chǎn)生出倒影、發(fā)散、折射等效果,周而復(fù)始。
光線追蹤本身只是一種渲染技術(shù)的通用名詞,目前已經(jīng)發(fā)展出了多種實(shí)現(xiàn),例如路徑跟蹤、分布式光線追蹤、雙向光線追蹤、光子映射等等,都是針對(duì)不同應(yīng)用情境下提出的各具優(yōu)點(diǎn)和缺點(diǎn)的光線追蹤實(shí)現(xiàn),例如雙向光線追蹤可能比較適合散焦特效,分布式光線追蹤比較適合全局光照。
從光學(xué)角度看,光線追蹤才是正確的物理實(shí)現(xiàn),光柵化渲染雖然也能達(dá)到基于物理渲染的效果,但是因?yàn)槿狈ζ镣饪臻g信息,可能需要更多的代碼和數(shù)據(jù)才能接近,否則容易產(chǎn)生各種古怪的現(xiàn)象。
《獵天使魔女》中基于光柵化的屏幕空間倒影,出現(xiàn)了口紅戳眼睛的現(xiàn)象。
《迷失》中基于光柵化的屏幕空間倒影,貓咪在鏡子的古怪倒影。
在地鐵離去中,屏幕空間倒影(SSR)和光線追蹤倒影(RTR)的對(duì)比(SSR 里船的倒影隨著角度的變化而忽隱忽現(xiàn),而光線追蹤倒影則保持很好的一貫性):
即使是某些宣稱是光線追蹤的情況,但是由于和真正的光線追蹤實(shí)現(xiàn)完全不是一回事而存在各種問題,例如Reshade 特效外掛基于屏幕空間實(shí)現(xiàn)的偽光線追蹤全局光照容易產(chǎn)生忽有忽無的現(xiàn)象(黃色色染隨著梯子移出屏幕外后就突然消失了):
既然光線追蹤或者說真正的光線追蹤能產(chǎn)生更逼真的畫面,那么為何在 RTX GPU 之前極少看到呢?
答案相信大家都聽說過,那就是光線追蹤需要大量的計(jì)算。
光線追蹤產(chǎn)生衍生射線后,會(huì)繼續(xù)反彈射向下一個(gè)物體,且反彈的方向可能是隨機(jī)的,單條射線難以準(zhǔn)確計(jì)算出整個(gè)物體表面的明暗,隨之就會(huì)產(chǎn)生噪點(diǎn),為了減少噪點(diǎn),要嘛就是每個(gè)像素發(fā)射更多的射線,例如數(shù)千條射線,又或者是結(jié)合隨機(jī)算法進(jìn)行累積,這些辦法都會(huì)導(dǎo)致計(jì)算量幾何級(jí)上升,而更復(fù)雜的場(chǎng)景和模型(例如復(fù)雜的透明模型)會(huì)讓計(jì)算量在此基礎(chǔ)上再跳若干個(gè)幾何級(jí)。
NVIDIA 在 Volta 世代開始引入的光線追蹤就是支持使用張量?jī)?nèi)核進(jìn)行降噪處理,可以實(shí)現(xiàn)較少的射線實(shí)現(xiàn)接近參考目標(biāo)圖的效果。
到了 Turning 世代,NVIDIA 引入了 RTCore 來實(shí)現(xiàn)光線追蹤求交加速,目前所有的 GPU 硬件光線追蹤加速基本上都是類似于 Turing——通過加入求交加速模塊來加速光線追蹤,所不同的主要是具體的規(guī)模和涵蓋的加速特性范圍(例如 NVIDIA RTCore 和 Intel RTU 還支持遍歷、排序,AMD RDNA2 則還有欠缺,RDNA 3 有少量改進(jìn))。
上圖是分別是參考圖、采用 NVIDIA 實(shí)時(shí)降噪器處理的效果以及輸入降噪器的光線追蹤渲染畫面
目前絕大多數(shù)的硬件光線追蹤加速游戲都是采用了混合渲染流水線,也就是先用光柵化確定可視性,然后使用光線追蹤對(duì)屏幕區(qū)域中特定的位置進(jìn)行光線追蹤計(jì)算,這不失為一種畫質(zhì)與性能的折衷,例如 AMD 的 SSSR 就是針對(duì)場(chǎng)景中不同位置使用傳統(tǒng)光柵 SSR 和DXR 光線追蹤的倒影算法。
經(jīng)過 4 年的發(fā)展,光線追蹤加速已經(jīng)不再陌生,除了折射、倒影、陰影等特效處理外,還有一個(gè)重要的應(yīng)用現(xiàn)在開始逐漸增多,那就是全局光照(Global Illumination,簡(jiǎn)稱 GI)的普遍實(shí)現(xiàn)。
上圖是虛幻引擎編輯器里展示啟用 RTXGI,圖中的圓球就是全局光照特效常見的探針示意。
上圖是游戲 ICARUS 啟用基于 RTXGI 全局光照后效果
NVIDIA 在這方面有較長(zhǎng)的積累,例如在 2019 年提出的 DDGI(現(xiàn)在的營(yíng)銷名稱為 RTXGI),可以在無噪點(diǎn)的情況下實(shí)現(xiàn)實(shí)時(shí)全動(dòng)態(tài)光線追蹤全局光照。AMD 在今年(2022 年)10 月也發(fā)布了一篇論文,提出了名為 GI 1.0 的全局光照實(shí)現(xiàn)辦法,在這篇論文中,雖然 AMD RX 6900XT 光線追蹤部分的性能只有 RTX 3080 的一半,但是憑借高速緩存的優(yōu)勢(shì),最終達(dá)到了持平的性能。
另一個(gè)挑戰(zhàn)則是場(chǎng)景光照的豐富性問題,例如目前的光線追蹤游戲一般只有兩個(gè)到十六個(gè)主光源,即使是 Quake 2 RTX 中也不過是 100 多個(gè)用于光線追蹤的光源,NVIDIA 為此提出了 RTXDI 技術(shù)(在 2021 年正式采用這個(gè)名稱,主要基于 NVIDIA 2020 年前提出的 ReSTIR 技術(shù))。
RTXDI 嘗試近似經(jīng)典渲染方程的方式進(jìn)行計(jì)算,經(jīng)過優(yōu)化后,每個(gè)像素只用兩條射線采樣,結(jié)合 NRD 專門為 RTXDI 優(yōu)化的 RELAX 降噪器,透過多種重采樣技術(shù),就能對(duì)百萬級(jí)數(shù)量的光源實(shí)施光線追蹤,徹底摒棄其他所有陰影技術(shù)以及環(huán)境遮蔽技術(shù),并且可以和 RTXGI 結(jié)合實(shí)現(xiàn)更逼真絢麗的渲染效果。
RTXDI 可以在 NVIDIA、AMD 等支持 DXR 和 Vulkan 光線追蹤擴(kuò)展的 GPU 上運(yùn)行,不僅游戲中可以使用,還有一些開發(fā)人員已經(jīng)提供了支持 Blender 的 RTXDI 渲染引擎,適用性相當(dāng)廣。
說了這么多作為鋪墊,接下來我要做一些光線追蹤的相關(guān)測(cè)試了,這部分分為主要是偏底層的測(cè)試和實(shí)際游戲測(cè)試,手頭有一片 GeForce RTX 3080 Ti FE 和七彩虹的 iGame GeForce RTX 4080 16GB Ultra W OC,相對(duì)于之前的公版測(cè)試,我這次主要是要一些延伸性的測(cè)試,特別是我的 AMD Ryzen 7 5800X 平臺(tái)上,啟用光線追蹤是否下相當(dāng)于“免費(fèi)”。
測(cè)試平臺(tái)
CPU:AMD Ryzen 7 5800X 鎖定 4.5GHz,開啟超線程
主板:華碩 ROG Strix X570E Gaming
內(nèi)存:TT Tough DDR4-3600 8GB*4
電源:TT Tough 850W 80 Plus 白金認(rèn)證
顯卡:七彩虹iGame GeForce RTX 4080 16GB Ultra W OC
顯卡:NVIDIA GeForce RTX 3080 Ti FE
顯示器:DELL U2413
驅(qū)動(dòng)程序:GeForce Game Ready 驅(qū)動(dòng) v526.98
操作系統(tǒng):Windows 11 22H2 22621.819 專業(yè)工作站版,電源管理卓越性能模式,關(guān)閉 Windows Defender
主板 BIOS 設(shè)定:開啟 ResizableBAR 支持
七彩虹 iGame GeForce RTX 4080 Ultra W OC
這次參與對(duì)比的新卡是來自七彩虹的 iGame 系列 GeForce RTX 4080 16GB Ultra W OC:
七彩虹的 iGame GeForce RTX 4080 16GB Ultra W OC 是我接觸的第一款非公版 RTX 4080,和公版一體化設(shè)計(jì)相比,iGame GeForce RTX 4080 16GB Ultra W OC 的更長(zhǎng),這樣設(shè)計(jì)的目的是為了容納 3 個(gè)風(fēng)扇,提供更良好的散熱效果。
散熱器外甲采用波普藝術(shù)風(fēng)格,顯卡側(cè)面引人矚目的是“漫畫特效”的Ultra燈組(可以使用 iGame Center 2.0 進(jìn)行燈光同步設(shè)置),在開機(jī)后會(huì)亮起,內(nèi)部散熱模組采用了 5*6 mm + 2*8 mm 熱管,熱管和鰭片采用了回流焊高度融為一體,三組雙滾珠軸承風(fēng)扇的扇葉直徑均達(dá)到 100mm,9 片風(fēng)扇葉片是利于聚風(fēng)的環(huán)形葉片。
位于頂部的電源接口是12VHPWR(PCIE 5.0)電源接口,隨卡提供了一條 3* 8pin PEG 轉(zhuǎn)接線,當(dāng)然如果可以的話最好電源也采用 ATX 3.0 帶 12VHPWR 連接線,這樣可以讓機(jī)箱空間更簡(jiǎn)潔。
雖然七彩虹iGame GeForce RTX 4080 16GB Ultra W OC 的尺寸比 NVIDIA FE 公版更長(zhǎng)(大約是 32.5cm vs 30cm),但是在整體重量上由于采用了三風(fēng)扇開放式散熱設(shè)計(jì)反而要輕不少,不像公版那樣有一大圈金屬包圍,這樣的好處除了散熱更好外,對(duì)于主板來說也是降低了負(fù)擔(dān),而用戶需要注意的是機(jī)箱內(nèi)部需要有足夠的空間。
七彩虹iGame GeForce RTX 4080 16GB Ultra W OC 提供了一鍵超頻功能,在顯卡擋板處有一個(gè)按鈕,按下后就能啟用一鍵超頻:
使用 3DMark Speed Way 測(cè)試結(jié)果如下:
一鍵超頻略顯保守,性能改善幅度大約是 1.3%,好處是比較簡(jiǎn)單,而且是有官方質(zhì)保的。
下面就讓我們進(jìn)入具體的光線追蹤測(cè)試環(huán)節(jié)。
底層測(cè)試
底層測(cè)試的目的是希望盡可能獲知硬件的理論性能,特別是像 RTCore 相對(duì)較少資料的單元,我們對(duì)其細(xì)節(jié)更是充滿好奇。
底層測(cè)試——光線追蹤峰值性能測(cè)試
為了探測(cè) GeForce RTX 4080 的光線追蹤底層性能,我這次使用 Matt Pettineo 的 DXR Patht Tracer 進(jìn)行了簡(jiǎn)單的對(duì)比,測(cè)試條件是每像素 16 射線、8 次反彈、32 光源,并且啟用了若干常見的渲染效果:
這是一個(gè)很簡(jiǎn)單的場(chǎng)景,但是請(qǐng)注意,我們測(cè)試的是一個(gè)路徑跟蹤器,性能和取樣數(shù)、光照路徑長(zhǎng)度有較大關(guān)系。
前面我們說過,常見的光線追蹤渲染實(shí)現(xiàn)方式是指從攝像機(jī)方向發(fā)射射線穿過屏幕像素直到擊中場(chǎng)景中某個(gè)三角形,這一步被稱作求交,在完成求交計(jì)算后,光線渲染程序中的 anyhit 代碼會(huì)根據(jù)擊中點(diǎn)的屬性確定是否產(chǎn)生衍生射線以及選擇相應(yīng)的后續(xù)計(jì)算。
由于會(huì)產(chǎn)生多次的衍生射線碰撞,光線追蹤需要進(jìn)行大量簡(jiǎn)單而重復(fù)的求交測(cè)試計(jì)算,所以求交測(cè)試模塊是光線追蹤加速單元的最主要組成部分,我們?cè)谶@里的底層測(cè)試就是為了探測(cè)出 GPU進(jìn)行一定特效處理的情況下每秒可以進(jìn)行的射線求交能力。
從測(cè)試結(jié)果來看,RTX 4080 可以每秒跑出 31.1 Grays(Giga Rays,十億條射線),而 RTX 3080 Ti 則是 18.4 Grays,兩者此時(shí)的性能比值為 1.69 倍。
底層測(cè)試——Ray Tracing in Vulkan
這里我使用的是 GPSnoopy 的 Ray Tracing in Vulkan,這是 Tanguy Fautre 按照 Peter Shirley 的 Ray Tracing in One Weekend光線追蹤短訓(xùn)教程在 github 上發(fā)布的代碼實(shí)現(xiàn),最初使用的是 NVIDIA 私有 Vulkan 擴(kuò)展,后來 KHR 發(fā)布了官方 Vulkan 光線追蹤擴(kuò)展后,所有代碼也隨之移植到官方 Vulkan 擴(kuò)展上來,這意味著包括 AMD、Intel 等 GPU 也能運(yùn)行這個(gè)程序。
如果有看過我之前測(cè)試的話,應(yīng)該也了解到我之前是跑過這個(gè)程序的。這次我測(cè)試的是 github 上的最新代碼版本,使用 VS 2022 和 Vulkan SDK 編譯。
程序提供了 5 個(gè)場(chǎng)景,分別是:
Ray Tracing In One Weekend
Planets In One Weekend
Lucy In One Weekend
Cornell Box
Cornell Box & Lucy
程序允許修改射線取樣數(shù)量(默認(rèn)每像素 8 條射線,最高 128 條)和射線反彈次數(shù)(默認(rèn) 16 次,最高 32 次)。
雖然程序每個(gè)場(chǎng)景跑一遍只需要 60 秒,但是我這次使用的測(cè)試腳本是涵蓋了每像素 1、2、4、8、16、32 條射線以及一次、兩次、四次、八次、十六次、三十二次反彈,一輪跑下來大概需要數(shù)個(gè)小時(shí)。
測(cè)試結(jié)果如下:
由于程序渲染的場(chǎng)景相對(duì)簡(jiǎn)單,也不涉及降噪等著色器操作,比較容易體現(xiàn)光線追蹤加速環(huán)節(jié)或者說求交性能上的性能差別。
由于 RTCore 對(duì)我們來說還是一個(gè)黑匣子,里面好多細(xì)節(jié)我們都知之甚少,NVIDIA 提供了一個(gè)名為 RT TFLOPS 的指標(biāo),但是這個(gè)東西是根據(jù)游戲運(yùn)算量統(tǒng)計(jì)百分比,揉合了 SM 單精度性能、RTCore 等效性能、張量?jī)?nèi)核性能的東東,純粹度略顯不夠。
為了簡(jiǎn)化描述,我這里將每個(gè) RTCore 每周期跑的操作集稱之為 RTCore-Ops。
七彩虹iGame GeForce RTX 4080 16GB 運(yùn)行程序時(shí)候的 3D 內(nèi)核頻率為 2805 MHz,乘與 76 個(gè)第三代 RTCore 的話,理論上就是每秒跑 213,180 百萬次第三代 RTCore-OPs。
NVIDIA GeForce RTX 3080 Ti 12GB 運(yùn)行程序時(shí)的頻率波動(dòng)相對(duì)較大,在 1835 MHz 到 1905 MHz 之間,取中間值 1870MHz 的話,乘與 80 個(gè)第二代 RTCore,那就是每秒跑 149,600 百萬次第二代 RTCore-Ops。
單純看 RTCore-Ops 的話,七彩虹iGame GeForce RTX 4080 16GB 是 NVIDIA GeForce RTX 3080 Ti 12GB 的 1.42 倍。
但是從 GPSnoopy Ray Tracing in Vulkan 的測(cè)試結(jié)果來看,七彩虹iGame GeForce RTX 4080 16GB 的實(shí)測(cè)光線追蹤性能是 NVIDIA GeForce RTX 3080 Ti 12GB 的 1.61 倍(平均值),多出來的 20% 顯然是來自于第三代 RTCore 或更大高速緩存(64MB L2 vs 6MB L2)所帶來的。
我還測(cè)試了包括其他每周期射線數(shù)量(每像素 1、2、4、16、32 射線)的情況,在較少采樣的情況下,例如每像素一射線的時(shí)候,兩者的平均性能比值差別會(huì)少些——152%,在更多采樣的時(shí)候,性能比值基本一樣。
提升幅度較少的是場(chǎng)景 4,這個(gè)場(chǎng)景的特點(diǎn)是沒有透明、鏡面物體,這意味著衍生射線的數(shù)量以及隨之而來的復(fù)雜著色計(jì)算會(huì)更少,在每像素 1 條射線的時(shí)候,七彩虹iGame GeForce RTX 4080 16GB 是 RTX 3080 Ti 的 142%,相當(dāng)于兩者的 RTCore-Ops 比值。
在采樣數(shù)量增加到每像素 8 條射線后,七彩虹iGame GeForce RTX 4080 16GB 在場(chǎng)景四的性能是 NVIDIA GeForce RTX 3080 Ti 12GB 的 148%,依然接近兩者 RTCore-Ops 1.42 倍比值。
由于支持提供 RTCore 狀態(tài)特性信息 Nsight 目前只對(duì)企業(yè)用戶以 NDA 的形式提供,普通人難以接觸,故此想進(jìn)一步準(zhǔn)確獲知相關(guān)細(xì)節(jié)的正門目前是堵死的,因此這次測(cè)試只能根據(jù)表面結(jié)果做判斷。
考慮到測(cè)試場(chǎng)景不涉及動(dòng)態(tài)模糊或者其他射線插值計(jì)算的情況,因此第三代 RTCore 的每周期三角形求交能力兩倍于第二代 RTCore 的特性在這里應(yīng)該是體現(xiàn)不出來的。
對(duì)于上面這些測(cè)試結(jié)果,我很容易得出下面的結(jié)論:
對(duì)于涉及較多透明、鏡面反射物體的場(chǎng)景,NVIDIA GeForce RTX 3080 Ti 12GB 或者說 Ada 架構(gòu)可以從較大的高速緩存以及著色器性能顯著獲益,而對(duì)于透明、鏡面或者說反彈次數(shù)較少的場(chǎng)景,基本上就是兩者單元規(guī)模和頻率乘積的高低區(qū)別。
游戲?qū)崪y(cè)
在游戲測(cè)試方面,我這次打算精簡(jiǎn)一下,只選擇三款光線追蹤游戲,分別是賽博朋克 2077、地鐵逃離增強(qiáng)版以及蜘蛛俠重制版,其中賽博朋客 2077 具備光線追蹤倒影、陰影計(jì)算,地鐵離去增強(qiáng)版采用了光線追蹤來實(shí)現(xiàn)全局光照、倒影、陰影,蜘蛛俠重制版是從主機(jī)平臺(tái)移植過來的,提供了光線追蹤倒影特效,上述上個(gè)游戲均提供了 DLSS 超分辨率技術(shù),其中蜘蛛俠重制版以正式版的方式提供了 DLSS 3 插幀支持,賽博朋克 2077 以內(nèi)測(cè)版的方式提供了 DLSS 3 插幀支持,地鐵逃離增強(qiáng)版提供了 DLSS 2 支持。
地鐵逃離增強(qiáng)版
地鐵:逃離增強(qiáng)版:地鐵逃離增強(qiáng)版是一個(gè)出色的第一人稱單人游戲,采用 4A Engine 開發(fā),是第一個(gè)強(qiáng)制要求顯卡必須支持 DXR 的游戲。
七彩虹 iGame GeForce RTX 4080 16GB Ultra W OC 在這個(gè)游戲中實(shí)現(xiàn)了 95fps 的 4K 全開最高 DLSS Performance 性能,在 2560x1440 則是達(dá)到了 121 fps。
蜘蛛俠重制版
蜘蛛俠重制版:蜘蛛俠重制版是一個(gè)移植自游戲機(jī)的第三人稱動(dòng)作游戲,采用 Insomniac 游戲引擎,最新版提供了 DLSS 3 插幀支持。
從測(cè)試結(jié)果來看,蜘蛛俠重制版在我們的測(cè)試平臺(tái)上遇到了 CPU 性能瓶頸,在 2560x1440 的時(shí)候啟用光線追蹤+DLSS 3 插幀可以達(dá)到 1.73 倍于插幀之前的性能。相較之下,4K 光線追蹤+ DLSS 3 插幀是啟用插幀之前的 1.48 倍。
和關(guān)閉光線追蹤相比,啟用光線追蹤 + DLSS 2 后的性能會(huì)更快,以七彩虹 iGame GeForce RTX 4080 16GB Ultra W OC 為例,此時(shí)的性能是關(guān)閉光線追蹤時(shí)的 1.24 倍。
賽博朋克 2077
賽博朋克 2077:賽博朋克 2077 是一個(gè)跨平臺(tái)游戲,采用的游戲引擎是 REDengine 4,提供了光線追蹤倒影、光線追蹤陰影等特效支持,我們這里測(cè)試的版本是提供了 DLSS 3 插幀支持內(nèi)測(cè)版。
NVIDIA 在 9 月份的時(shí)候 已經(jīng)將賽博朋克 2077 列為 DLSS 3 游戲,但是具體的正式支持時(shí)間尚不清楚,可能會(huì)和 Overdrive 光線追蹤(RTXDI)一同發(fā)布?
在 4K 分辨率下,七彩虹 iGame GeForce RTX 4080 16GB Ultra W OC 啟用光線追蹤+ DLSS 2 后的性能是關(guān)閉光線追蹤、不啟用 DLSS 2 的 1.22 倍。在打開光線追蹤模式下, DLSS 2 Performance 能實(shí)現(xiàn) 2.62 倍于啟用 DLSS 2 之前的性能。
對(duì)于 DLSS 3 插幀性能表現(xiàn),作為參考,七彩虹 iGame GeForce RTX 4080 16GB Ultra W OC 啟用 DLSS 3 插幀后,4K 時(shí)的性能提升了 47%(如果是單純和啟用光線追蹤相比則是 289%),而在遭遇 CPU 性能瓶頸的 2560x1440 下提升幅度達(dá)到了 73%(如果是單純和啟用光線追蹤相比則是 215%)。
為了獲知更多的細(xì)節(jié),我將蜘蛛俠重制版和賽博朋克 2077 的更多 CaoframeX 細(xì)化測(cè)試結(jié)果整理為下面的兩個(gè)表格:
上面表格中除了大家常見的平均幀率外,還有低于 1% 的平均幀率、應(yīng)用時(shí)延、GPU 耗電、GPU 每 10 瓦耗電幀率以及 GPU 占用率等指標(biāo)。
1% 頻率低幀率是指按照從最高到最低幀率來排列,然后取位于末尾或者說最慢的 1% 幀率進(jìn)行平均取得的均值,英文一般稱為 1% Low Averags FPS被認(rèn)為是反映卡頓的最佳指標(biāo),這個(gè)指標(biāo)越高游戲流暢性感受就越好。如果你對(duì)游戲卡頓比較敏感的話,建議關(guān)注一下這個(gè)指標(biāo)。
關(guān)于 App Latency 指標(biāo),按照作者的介紹(以及presentmon1、presentmon2)的信息, App Latency類似于 NVIDIA frameview 中的 PCLatency,是指電腦 I/O 端口接收到外部人機(jī)設(shè)備指令后到顯卡完成渲染發(fā)送數(shù)據(jù)到顯示器的這段耗時(shí)。這個(gè)指標(biāo)完全獨(dú)立于顯示器和人機(jī)設(shè)備,只考慮電腦系統(tǒng)內(nèi)的情況,可以最大限度反映電腦內(nèi)部渲染時(shí)延問題,該指標(biāo)的單位一般是毫秒表示。
但是根據(jù)我的實(shí)際對(duì)比,發(fā)現(xiàn) App Latency 和 PCLatency 還是存在一定差異的,特別是在啟用了 DLSS 后:
可以看出,在 DLSS Perf + FG on 的時(shí)候,PCLatency 測(cè)試結(jié)果為 50ms,比 CapframeX 的 13ms 高不少。
在啟用光線追蹤后,單純啟用 DLSS 的話,PCL 只有 34ms,比關(guān)閉光線追蹤、關(guān)閉 DLSS 的時(shí)候快 29.4%,改善幅度比平均幀率還高。
GPU Power 表示顯卡的全卡耗電,而 GPU fps/10W 代表的是每 10 瓦耗電能達(dá)成的幀率。
GPU Usage 表示測(cè)試過程的平均 GPU 占用率。
從測(cè)試結(jié)果可以確認(rèn)蜘蛛俠重制版在 2560x1440 的時(shí)候的確更容易受到 CPU 性能影響,在啟用 DLSS 2 后 GPU 平均占用率只有 52%,此時(shí)耗電為 123 瓦,每 10 瓦幀率為 6.92 fps/10瓦。
啟用 DLSS 3 插幀后,耗電會(huì)有所提升,達(dá)到 161 瓦,增加 30%,但是性能耗電比會(huì)顯著提升達(dá)到 10.42 fps/10瓦,提升了 51%。
網(wǎng)絡(luò)上有人表示關(guān)閉超線程的話,蜘蛛俠重制版的性能會(huì)有所提升,我試了一下,的確是一定的改善:
幀率從 85.1 fps 提升到了 96.5fps,不過 1% Low Avg 只有 1 fps 的改善,最慢幀時(shí)間有較大改善。
根據(jù)記錄數(shù)據(jù),此時(shí) CPU 的耗電是 86 瓦,降低了兩瓦,而 CPU 最大使用率從 81% 提升到了 96%,GPU 耗電基本持平——125 瓦。
如果你是游戲玩家的話,不妨嘗試到 BIOS 里關(guān)閉掉超線程,很可能會(huì)有一點(diǎn)小驚喜。
全文總結(jié)
經(jīng)過四年的發(fā)展,光線追蹤在軟硬件方面已經(jīng)有了大幅度的改善,當(dāng)前的旗艦硬件光線追蹤 GPU 在 4K 分辨率下配合超分辨率、插幀等技術(shù)下輕松每秒破百幀,在這樣硬件能力下,越來越多游戲和應(yīng)用開發(fā)商紛紛加入到支持硬件光線追蹤加速的行列,像 PC 平臺(tái)上的硬件光線追蹤游戲數(shù)量就從零增加到 100 款以上。
光線追蹤對(duì)畫面的改善不是體現(xiàn)在紋理、模型的細(xì)節(jié)上,而是更真實(shí)的物理光學(xué)體驗(yàn),例如自然而然的全局光照(RTXGI)、不會(huì)忽有忽無的倒影、“接地氣”的陰影、繽紛絢麗的夜景(RTXDI)等等。
硬件光柵渲染經(jīng)過近 30 年的發(fā)展,能做的改善已經(jīng)不多,難以克服的地方是時(shí)候交給光線追蹤來完成了。
在這次測(cè)試中,我們了解了 GeForce RTX 4080 16GB 的峰值光線追蹤性能大約是每秒 31.1 GRays,是上一代 Ampere 架構(gòu) RTX 3080 Ti 每秒 18.4 GRays 的 1.69 倍,在演示場(chǎng)景測(cè)試中一般幅度會(huì)在 1.65 倍左右,而在游戲中,這個(gè)幅度是 1.35 倍左右,原因和目前游戲基本采用混合渲染流水線有關(guān)。在混合渲染流水線中,游戲使用光柵器確定每個(gè)三角形在屏幕上的位置,然后根據(jù)需求決定是否在這些位置上進(jìn)行光線追蹤渲染。
DLSS 技術(shù)是實(shí)時(shí)光線追蹤的最佳伴侶,經(jīng)過多次版本迭代后,DLSS 的畫質(zhì)有了顯著的改善,新加入的插幀技術(shù)讓需要更高畫面流暢體驗(yàn)的玩家多了選擇。
對(duì)于旗艦級(jí)的顯卡例如七彩虹 iGame GeForce RTX 4080 Ultra W OC 來說,CPU 的確會(huì)在很多游戲中成為瓶頸,但是隨著 DLSS 3 插幀技術(shù)的推廣,即使 CPU 成為瓶頸,也能實(shí)現(xiàn)更平滑的畫面流暢體驗(yàn),關(guān)閉超線程有時(shí)候會(huì)帶來一定的小驚喜。
當(dāng)然,如果游戲本身并非電競(jìng)類,你可以嘗試透過幀率約束將游戲幀率上限 60fps,這并非沒有意義,因?yàn)閹矢偷脑挘馕吨碾姟L(fēng)扇噪音更低,同樣能帶來更好的游戲體驗(yàn)。