2018年,還不是AI之光的英偉達(dá)已經(jīng)在“挖礦”與“游戲”之間反復(fù)橫跳許久。那年老黃帶著Geforce RTX20系顯卡來(lái)了。當(dāng)時(shí)消費(fèi)者關(guān)注的焦點(diǎn)除了能不能買(mǎi)到原價(jià)顯卡外,還有一項(xiàng)技術(shù)引人注目,那就是光線(xiàn)追蹤。
光線(xiàn)追蹤技術(shù)的問(wèn)世,直接讓玩家的游戲體驗(yàn)躍升了一個(gè)層級(jí)。逼真,逼真,還是逼真!這是游戲應(yīng)用光追技術(shù)之后玩家發(fā)出的最多感嘆。
光線(xiàn)追蹤原理 ?圖源:英偉達(dá)
彼時(shí)光追之驚嘆,更多的還是在于其對(duì)硬件要求的苛刻。
初代光線(xiàn)追可謂是“硬件殺手”。只要開(kāi)啟這項(xiàng)功能,從2090到2060所有顯卡的游戲幀數(shù)均暴降半數(shù)以上,眾生平等。直到一年之后,英偉達(dá)推出RTX30系列顯卡,讓光線(xiàn)追蹤技術(shù)更新到下一時(shí)代,同時(shí)搭配了DLSS2.0技術(shù),才讓光追真正成為人人用得上的功能。
這個(gè)“殺手”其實(shí)是一種算法,一般的GPU就可以運(yùn)行它來(lái)渲染圖像。不過(guò)正如同ASIC性能對(duì)比普通CPU一樣,將算法刻錄成硬件能夠極大的提升程序運(yùn)行速度,“專(zhuān)人辦專(zhuān)事”才能提升效率。20系顯卡搭載的光線(xiàn)追蹤專(zhuān)用核心RT-Core,讓顯卡渲染光追圖像不再局限于“單張圖片”領(lǐng)域,更快的處理速度讓顯卡擁有了渲染高幀率游戲的能力。AMD則“摸著英偉達(dá)過(guò)河”,在RX6000系列中推出AMD自己的光線(xiàn)追蹤技術(shù),其效果與初代英偉達(dá)光追持平(不怎么好用)。
如今的英偉達(dá)RTX40系顯卡,雖然性能較上代有了大幅度提升,但“光線(xiàn)追蹤”這項(xiàng)功能仍舊像是顯卡中居住的怪獸,瘋狂吞噬著有限的顯卡算力。在滿(mǎn)足算力提升的同時(shí),RTX4090顯卡的功耗也達(dá)到了恐怖的450W,網(wǎng)友戲稱(chēng)“花2萬(wàn)買(mǎi)電暖氣”。
如果基于電腦的光追情況,有人提出:“我要實(shí)現(xiàn)在移動(dòng)端的硬件光追!”,怕不是所有人都以為他瘋了!在手上抱一臺(tái)“電暖氣”可不是什么有趣的事情。但事實(shí)上,在手機(jī)上用光線(xiàn)追蹤,已經(jīng)成為現(xiàn)實(shí)。
光線(xiàn)追蹤很難嗎?
什么是光線(xiàn)追蹤?光線(xiàn)追蹤(Ray-tracing)是一項(xiàng)在視頻或游戲中繪制逼真圖形的復(fù)雜技術(shù)。它利用算法對(duì)光線(xiàn)進(jìn)行建模,模擬它從射出到多次反射后的全部路徑,來(lái)實(shí)現(xiàn)對(duì)真實(shí)世界的模仿。
看到對(duì)光線(xiàn)模擬,你大概就能明白了,只有模擬數(shù)量龐大的光線(xiàn)路徑,才能達(dá)到與現(xiàn)實(shí)世界類(lèi)似的效果,也意味著對(duì)GPU算力需求的爆炸增長(zhǎng)。也正是由于完整運(yùn)算所有路徑十分消耗運(yùn)算資源,因此現(xiàn)有光線(xiàn)追蹤技術(shù)僅運(yùn)算“目所能及”的光線(xiàn)路徑。
其實(shí)光線(xiàn)追蹤的概念出現(xiàn)的很早。1968年光線(xiàn)追蹤的概念就被提出,起初它是為了幫助美國(guó)國(guó)防部研究伽馬射線(xiàn)輻射。1979 年,計(jì)算機(jī)學(xué)家、電氣工程師Turner Whitted在貝爾實(shí)驗(yàn)室擔(dān)任工程師時(shí)制作了一部名為T(mén)he Compleat Angler的遞歸光線(xiàn)追蹤電影,讓他成為了第一個(gè)展示遞歸光線(xiàn)追蹤的鏡面反射和半透明物體折射的人。后來(lái),他的論文引導(dǎo)了更多人從事光線(xiàn)追蹤研究,讓計(jì)算機(jī)圖像更加真實(shí)。
時(shí)間到了2000年前后,光線(xiàn)追蹤開(kāi)始被用于電影特效的制作,就是那個(gè)時(shí)候,英偉達(dá)與AMD的顯卡開(kāi)始被用來(lái)硬件加速光線(xiàn)追蹤的渲染。為什么電影行業(yè)能這樣做,原因不外乎有兩個(gè):一是時(shí)間,特效公司會(huì)采用離線(xiàn)光線(xiàn)追蹤,可以一幀一幀渲染圖像;二是錢(qián),特效工作室會(huì)使用到渲染農(nóng)場(chǎng),相當(dāng)于一個(gè)個(gè)渲染集群服務(wù)器在協(xié)同工作。彼時(shí)的渲染,需要花費(fèi)上百臺(tái)服務(wù)器專(zhuān)用GPU同時(shí)工作半小時(shí)以上才能渲染好1幀畫(huà)面。如果將光線(xiàn)追蹤應(yīng)用到游戲上,就需要至少每秒執(zhí)行這個(gè)渲染30-60次,這對(duì)硬件算力的需求量簡(jiǎn)直不可想象。
在應(yīng)用光線(xiàn)追蹤之前,GPU中的圖形算法都依靠“光柵化”實(shí)現(xiàn)。光柵化將圖形和基元從三個(gè)維度轉(zhuǎn)換為顯示器像素的二維網(wǎng)格。它依賴(lài)于著色器來(lái)描繪真實(shí)世界的光照,游戲開(kāi)發(fā)者不得不使用光照計(jì)算算法來(lái)加強(qiáng)場(chǎng)景中的視覺(jué)效果。
CPU將圖形生成數(shù)據(jù)交付GPU后,流處理器會(huì)將所需要的模型依次進(jìn)行光柵化,圖像生成之前GPU只會(huì)調(diào)用一次模型數(shù)據(jù)。這種方法能以最低的計(jì)算成本將3D圖像構(gòu)建出來(lái),但在局部效果中,例如反射、陰影的生成上效果不佳。關(guān)鍵的一點(diǎn),它沒(méi)法和其他物體交互,不會(huì)在鏡子或者地板上反射,也不會(huì)在玻璃上穿透。該方法幾乎無(wú)法模擬不同物體之間的光效折射,這也是此前游戲畫(huà)面無(wú)法媲美真實(shí)場(chǎng)景的關(guān)鍵原因。
光線(xiàn)追蹤的方法則是通過(guò)對(duì)光線(xiàn)進(jìn)行并行化處理,除光線(xiàn)外的任何物體都需要在光線(xiàn)追蹤算法中遞歸運(yùn)算。這種算法,讓光線(xiàn)從相機(jī)射出而不是進(jìn)入相機(jī),它似乎是違反直覺(jué)的,但采用這種方法可以讓計(jì)算效率提升很多數(shù)量級(jí),因?yàn)橹挥羞M(jìn)入眼鏡的光線(xiàn)才能被觀(guān)測(cè)到。
光柵化與光線(xiàn)追蹤對(duì)比 ?圖源:英偉達(dá)
應(yīng)用光線(xiàn)追蹤之后,畫(huà)面效果好了,但這也意味著算法復(fù)雜度呈現(xiàn)指數(shù)級(jí)增長(zhǎng)。這是因?yàn)镚PU模擬折射、散射等場(chǎng)景時(shí)需要重新計(jì)算各個(gè)場(chǎng)景每一個(gè)部分的效果。
英偉達(dá)在RTX20系列顯卡中,加入了一組特定的向量流水線(xiàn)單元,也就是RT-Core。它可以以固定流程計(jì)算光線(xiàn)路徑,在輸入光線(xiàn)的起始位置后,模塊直接獲得該條光線(xiàn)路徑上的所有碰撞信息,不需要再對(duì)模型進(jìn)行光柵化處理,實(shí)現(xiàn)了快速計(jì)算光追。
如今,RT-Core已經(jīng)更新到了第三代,還加入了Opacity Micromap (OMM) 引擎和 Displaced Micro-Mesh (DMM) 引擎,英偉達(dá)稱(chēng)這將提升光線(xiàn)與三角形求交性能以及RT-TFLOP 峰值性能,解決了此前在樹(shù)葉、顆粒、圍欄界面上顯示性能較弱的問(wèn)題。
英偉達(dá)Ampere架構(gòu) ?圖源:英偉達(dá)
當(dāng)然,高級(jí)光線(xiàn)追蹤技術(shù)需要計(jì)算同一場(chǎng)景中數(shù)百萬(wàn)條光線(xiàn)照射在諸多不同類(lèi)型材質(zhì)上的效果,這就使得著色器只能低效地處理一系列截然不同的工作負(fù)載。如今的GPU中還有著色器執(zhí)行重排序(SER)技術(shù),能夠動(dòng)態(tài)調(diào)整這些工作負(fù)載的順序,讓原本低效的流程變得異常高效。
據(jù)業(yè)內(nèi)專(zhuān)家解釋?zhuān)壳坝ミ_(dá)在光線(xiàn)追蹤領(lǐng)域已經(jīng)遠(yuǎn)遠(yuǎn)領(lǐng)先競(jìng)爭(zhēng)對(duì)手AMD。AMD是在并行計(jì)算單元中集成了光追單元,但由于不是專(zhuān)用電路,因此在性能上要差英偉達(dá)的RT-Core一大截。從另一個(gè)角度看,英偉達(dá)是光線(xiàn)技術(shù)的引領(lǐng)者,在推出自己的光追模塊之前早已進(jìn)行了很長(zhǎng)時(shí)間的技術(shù)積淀,AMD的光追則是在英偉達(dá)發(fā)布該技術(shù)后才開(kāi)始投入的,短時(shí)間做到“能用”已經(jīng)實(shí)屬不易,但仍與行業(yè)龍頭有所差距。
手機(jī)怎么光線(xiàn)追蹤?
上文中極大篇幅都是在講英偉達(dá)光線(xiàn)追蹤技術(shù)的先進(jìn)性與復(fù)雜性,以及光線(xiàn)追蹤對(duì)硬件的極高要求。最近一年,聯(lián)發(fā)科、高通發(fā)布的新SoC,均聲稱(chēng)已將光線(xiàn)追蹤搬到了移動(dòng)場(chǎng)景上。將PC端的光線(xiàn)追蹤模塊移植過(guò)來(lái),怎么優(yōu)化與適配?功耗與算力能撐得住嗎?
Imagination曾將光線(xiàn)追蹤技術(shù)分為了6個(gè)層級(jí):
Level 0:傳統(tǒng)解決方案
Level 1:傳統(tǒng)GPU上的軟件
Level 2:硬件中的光線(xiàn)/方框和光線(xiàn)/三角形測(cè)試器
Level 3:硬件中的邊界體積層次結(jié)構(gòu)(Bounding Volume Hierarchy,BVH)處理功能
Level 4:硬件中的BVH處理和一致性排序功能
Level 5:硬件中帶有場(chǎng)景層次生成器(Scene Hierarchy Generation,SHG)的一致性BVH處理功能
可以看到,光線(xiàn)追蹤的效果,關(guān)鍵在于GPU中集成的諸多光線(xiàn)追蹤模塊。早在2021年,Arm的Mali-G710已經(jīng)支持基于軟件的光線(xiàn)追蹤,并應(yīng)用在了聯(lián)發(fā)科的天璣9000移動(dòng)SoC中,但沒(méi)有硬件支持,光線(xiàn)追蹤還只是個(gè)“概念”。目前市面上已經(jīng)推出的具有硬件光線(xiàn)追蹤功能的SoC僅有聯(lián)發(fā)科9200、9200+與高通驍龍8gen2。據(jù)官網(wǎng)資料顯示,聯(lián)發(fā)科9200與谷歌芯片搭載的GPU來(lái)自ARM ?Immortalis-G715,驍龍8gen2搭載的GPU是AMD Adreno。最近,ARM又推出了Immortalis-G720,再次“大秀肌肉”。ARM還表示要推動(dòng)光線(xiàn)追蹤在移動(dòng)平臺(tái)的普及。
然而如前文所說(shuō),光線(xiàn)追蹤對(duì)硬件性能的要求極為苛刻,所需要的功耗對(duì)于手機(jī)來(lái)說(shuō)也是難以承受的。因此,手機(jī)光線(xiàn)追蹤需要采用與PC端不同的策略。這個(gè)不同點(diǎn)首先就在于,手機(jī)在功耗墻的限制下僅會(huì)展現(xiàn)部分光線(xiàn)追蹤效果。且對(duì)于移動(dòng)端而言,光線(xiàn)追蹤算法的優(yōu)化水平是制約特效落地的最大瓶頸。
在2019年,網(wǎng)易利用自己開(kāi)發(fā)的《遇見(jiàn)逆水寒》手游進(jìn)行了光線(xiàn)追蹤演示,要知道,這時(shí)英偉達(dá)才推出光線(xiàn)追蹤技術(shù)一年多。彼時(shí)的演示畫(huà)面還比較“粗糙”,在開(kāi)啟光追后,游戲在軟陰影、鏡面反射、粗糙反射等情景中的視覺(jué)效果都有了提升,但與PC端開(kāi)啟光追后呈現(xiàn)出的震撼效果還有差距。此外在特殊場(chǎng)景下,開(kāi)啟光線(xiàn)追蹤的手機(jī)耗電量要比沒(méi)有開(kāi)啟高了3倍有余。展示中并沒(méi)有給出芯片發(fā)熱表現(xiàn),不過(guò)估計(jì)那時(shí)候手機(jī)已經(jīng)能達(dá)到“燙手”的狀態(tài)了。
如今在擁有更高畫(huà)質(zhì)的手游,例如《原神》上(大概?),開(kāi)啟光線(xiàn)追蹤后手機(jī)GPU怕不是會(huì)原地融化。因此,要想讓手機(jī)能用光線(xiàn)追蹤,第一步就是給移動(dòng)GPU減少任務(wù)量,但不同廠(chǎng)商給出的光線(xiàn)追蹤解決辦法也不盡相同。
聯(lián)發(fā)科:
聯(lián)發(fā)科針對(duì)游戲開(kāi)發(fā)者需要的特效,以及玩家沉浸式游戲體驗(yàn)的關(guān)鍵視覺(jué)需求,開(kāi)發(fā)出移動(dòng)端光線(xiàn)追蹤的“三要素”,即軟陰影、鏡面反射與折射,讓移動(dòng)設(shè)備上的虛擬世界看起來(lái)不再那么“假”。
1、光線(xiàn)追蹤軟陰影:真實(shí)世界的陰影會(huì)因?yàn)榕c光源距離的遠(yuǎn)近或者光線(xiàn)的強(qiáng)弱而形成不同的軟硬度,聯(lián)發(fā)科依托移動(dòng)端光線(xiàn)追蹤技術(shù)相對(duì)真實(shí)地計(jì)算出場(chǎng)景物體所對(duì)應(yīng)的反射角度和位置,從而形成更真實(shí)的軟陰影,反映出光線(xiàn)強(qiáng)弱和不同的距離。2、光線(xiàn)追蹤鏡面反射:9200可以根據(jù)不同光源強(qiáng)度反射出強(qiáng)弱不同的倒影,地面的材質(zhì)和紋路也會(huì)影響反射效果,因此能更真實(shí)地計(jì)算出場(chǎng)景中不同物體相對(duì)應(yīng)鏡面反射的角度和位置。玻璃物體的光線(xiàn)追蹤折射:不同材質(zhì)的物體折射呈現(xiàn)的畫(huà)面不同。3、折射渲染技術(shù)可為畫(huà)面增加不同角度的折射細(xì)節(jié),更真實(shí)地還原物理現(xiàn)象。
此外,聯(lián)發(fā)科與ARM攜手,共同推出了自適應(yīng)調(diào)控技術(shù)(MediaTek Adaptive Game Technology, 簡(jiǎn)稱(chēng)MAGT),可降低高幀率游戲的功耗和終端設(shè)備的溫度;變速率渲染技術(shù)(VRS),可動(dòng)態(tài)調(diào)整不同視覺(jué)區(qū)域渲染倍率;最后是HyperEngine 6.0游戲引擎,可根據(jù)溫度預(yù)測(cè)決定系統(tǒng)模塊的調(diào)度等;延遲頂點(diǎn)著色 (DVS),減少了內(nèi)存帶寬的使用,節(jié)省了最重要的 DRAM 功耗,也降低了整體功耗。
高通:
高通為Adreno GPU 的光線(xiàn)追蹤單元加入了驍龍陰影降噪器,以此解決噪點(diǎn)問(wèn)題。高通表示該技術(shù)專(zhuān)門(mén)面向 Adreno GPU 開(kāi)發(fā)和優(yōu)化的,與目前其他端游級(jí)解決方案相比,速度快4倍。
陰影降噪 ?圖源:高通
此外,高通還研發(fā)了專(zhuān)門(mén)用于提升移動(dòng)端游戲體驗(yàn)的 Snapdragon Elite Gaming 解決方案。它可以基于物理的渲染技術(shù),通過(guò)優(yōu)化模型表面的光反射機(jī)制,實(shí)現(xiàn)更接近現(xiàn)實(shí)的光照效果和紋理質(zhì)感;引入正向渲染模式,多重景深、多動(dòng)態(tài)光源、運(yùn)動(dòng)模糊、平面反射等方面對(duì)游戲畫(huà)質(zhì)進(jìn)行深度優(yōu)化處理,從而帶來(lái)更真實(shí)更有沉浸感的畫(huà)面品質(zhì)等。
有了硬件支持,軟件優(yōu)化或方案優(yōu)化也很重要。
首先就是模型優(yōu)化。光線(xiàn)追蹤影響性能的關(guān)鍵一點(diǎn)就是光線(xiàn)的反射次數(shù)與模型的面數(shù)量,也就是場(chǎng)景的復(fù)雜性和模型的復(fù)雜性。
游戲研發(fā)人員表示,在建模時(shí),首先要保持更低的多邊形數(shù)量,管理拓?fù)浣Y(jié)構(gòu)使其干凈平衡;更多使用平滑模型,讓低多邊形的邊緣有正確的法線(xiàn)投影;合理分割紋理資源,防止顏色滲出。在需要的情形下,可以通過(guò)多紋理疊加來(lái)降低紋理尺寸。有了以上要點(diǎn),再適當(dāng)使用精細(xì)模型,就可以制作出高質(zhì)量的資源,渲染出完美的畫(huà)質(zhì)。
其次是繼續(xù)深入研究功能技術(shù)實(shí)現(xiàn),例如加強(qiáng)光線(xiàn)追蹤在過(guò)場(chǎng)動(dòng)畫(huà)中的應(yīng)用。因?yàn)楣饩€(xiàn)追蹤陰影渲染和反射的去噪器需要與模型進(jìn)行擬合,動(dòng)畫(huà)往往意味著攝像機(jī)移動(dòng)緩慢,畫(huà)面中的模型位移小,因此光線(xiàn)追蹤環(huán)境在這種情況下效果更好。
手機(jī)真的需要光追嗎?
作為一名PC游戲玩家,記者認(rèn)為手機(jī)游戲應(yīng)該加速應(yīng)用光線(xiàn)追蹤技術(shù)。
2018年英偉達(dá)剛剛推出光線(xiàn)追蹤技術(shù)的時(shí)候,很多人只是被宣傳畫(huà)面呈現(xiàn)出的效果震撼,然而當(dāng)自己購(gòu)買(mǎi)顯卡體驗(yàn)后,發(fā)現(xiàn)開(kāi)啟光線(xiàn)追蹤往往意味著游戲幀數(shù)的大幅下降。但是隨著30系、40系顯卡推出,以及DLSS技術(shù)等AI插幀技術(shù)成熟后,光線(xiàn)追蹤逐漸成為默認(rèn)開(kāi)啟的選項(xiàng)。
在手機(jī)游戲上,光線(xiàn)追蹤的大規(guī)模普后,手機(jī)功耗增加、卡頓等問(wèn)題不可避免。隨著PC市場(chǎng)下行趨勢(shì)持續(xù)增大,越來(lái)越多的新生代玩家開(kāi)始轉(zhuǎn)戰(zhàn)移動(dòng)平臺(tái)。即使移動(dòng)端在功耗上有天然劣勢(shì),但玩家對(duì)游戲的要求始終沒(méi)有上限,所有人都期待未來(lái)移動(dòng)端能夠完美復(fù)刻PC游戲,這其中就包括畫(huà)面表現(xiàn)。
好在目前摩爾定律仍然在艱難前行,手機(jī)芯片性能還在持續(xù)增長(zhǎng),這也代表未來(lái)移動(dòng)端游戲?qū)Ξ?huà)面的支持力度還有上升空間。記者認(rèn)為,未來(lái)手機(jī)芯片在光線(xiàn)追蹤功能上的競(jìng)賽,也許會(huì)復(fù)刻英偉達(dá)和AMD的競(jìng)爭(zhēng)故事。
更重要的是,光線(xiàn)追蹤能夠?qū)崿F(xiàn)的特性并不僅限于游戲,更高階的應(yīng)用是VR、AR,甚至是元宇宙。
2021年元宇宙盛行之時(shí),英偉達(dá)創(chuàng)始人黃仁勛認(rèn)為,未來(lái)隨著科技不斷發(fā)展,虛擬世界與現(xiàn)實(shí)世界將產(chǎn)生交叉融合,現(xiàn)在正是元宇宙世界的風(fēng)口浪尖,英偉達(dá)也將在其中扮演重要角色。
如今元宇宙的熱度已過(guò),龍頭企業(yè)Meta也在大規(guī)模裁員。但在總結(jié)元宇宙沒(méi)有成功的原因時(shí),很多專(zhuān)家都?xì)w結(jié)為VR設(shè)備很不方便,而移動(dòng)版VR設(shè)備畫(huà)面質(zhì)量差,會(huì)導(dǎo)致容易暈眩等問(wèn)題。
當(dāng)手機(jī)光線(xiàn)追蹤技術(shù)成熟后,便可更快銜接到移動(dòng)AR、VR技術(shù)設(shè)備上。這將極大的提升此類(lèi)設(shè)備的畫(huà)面質(zhì)量,提升佩戴觀(guān)感,也能讓VR設(shè)備普及度更高?;蛟S元宇宙并沒(méi)有消亡,當(dāng)有更多與手機(jī)光線(xiàn)追蹤一樣的技術(shù)成熟并應(yīng)用后,元宇宙的時(shí)代才會(huì)真正開(kāi)啟。
寫(xiě)在最后
光線(xiàn)追蹤技術(shù)的發(fā)展歷程和其在手機(jī)領(lǐng)域的應(yīng)用,為廣大玩家?guī)?lái)了令人驚嘆的視覺(jué)體驗(yàn)。通過(guò)光線(xiàn)追蹤技術(shù),手機(jī)用戶(hù)也能夠享受到更加逼真和沉浸式的游戲、影音甚至增強(qiáng)現(xiàn)實(shí)體驗(yàn)。目前高通和聯(lián)發(fā)科作為行業(yè)領(lǐng)先的半導(dǎo)體公司,都提供了各自的解決方案,以滿(mǎn)足市場(chǎng)對(duì)于光線(xiàn)追蹤技術(shù)的需求,更有消息稱(chēng)三星、谷歌等大廠(chǎng)也紛紛入局,未來(lái)手機(jī)光追或許將成為標(biāo)配。
然而,手機(jī)光線(xiàn)追蹤技術(shù)的應(yīng)用僅僅只是一個(gè)開(kāi)始。隨著技術(shù)的不斷演進(jìn)和市場(chǎng)的發(fā)展,我們可以想象,光線(xiàn)追蹤將在更廣泛的領(lǐng)域得到應(yīng)用。一個(gè)令人激動(dòng)的前景是,光線(xiàn)追蹤技術(shù)有望在元宇宙的建設(shè)中扮演重要角色。
未來(lái),一定是光與影交織,虛擬與現(xiàn)實(shí)融合的世界。手機(jī)光線(xiàn)追蹤,或許只是起點(diǎn)。