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