在2018年的德國科隆遊戲展上,NVIDIA端出了RTX 20系列顯示卡,首次將硬體光線追蹤單元引入GPU之中,使得玩家得以在遊戲中體驗到媲美真實世界裡光照的實時光線追蹤效果。而讓遊戲越來越真實,無疑是開發者一直以來不斷努力的方向,並且這條路的終點無疑就是“傳說中”的元宇宙。
在經過了數年的發展後,光線追蹤技術從PC到遊戲主機,儼然已經讓諸多玩家如痴如醉,但在移動端光線追蹤卻是一個相對遙遠的名詞。不過隨著日前三星方面釋出的資訊顯示,光線追蹤技術也即將要與廣大手遊玩家見面了。近日,三星正式為旗下Exyons SoC預熱了光線追蹤功能,也喻示著其與AMD合作的首款主控產品即將亮相。
根據三星方面的說法,光線追蹤是桌面級GPU中支援的高階圖形顯示技術,透過計算光線位置及反射區域,對該位置區域的畫素進行逐個渲染,以帶來更加真實的畫面顯示效果。而三星方面之所以能夠將光線追蹤技術引入移動端,靠的也正是來自合作伙伴AMD的技術。
早在2019年,三星方面就已與AMD達成合作協議,後者將RDNA GPU圖形IP授權給了三星,以幫助其開發光線追蹤、可變幀速率渲染等技術。而在今年6月舉行的臺北國際電腦展上,AMD CEO蘇姿豐博士曾透露,三星新一代的Exynos SoC將搭載AMD RDNA 2架構,並且該架構也已應用在了PlayStation 5、Xbox Series X、Radeon RX顯示卡中。
根據此前曝光的資訊顯示,這款基於AMD RDNA2 GPU技術打造的三星Exynos 5G SoC將會被命名Exynso 2200,其工程版的3DMark Wild Life成績約8300左右,與蘋果的A14處於同一水平。據悉,Exynso 2200的GPU之中將會有2個核心支援光追,並且NPU會參與光追的最佳化。
雖然得益於NVIDIA RTX系列、AMD Radeon6000系列、索尼PS5、微軟XSX的普及,如今在桌面端體驗光追已經不是什麼難事,然而這項技術到底是如何實現的呢?要回答這一問題,就需要先要了解一下在光線追蹤技術出現前,開發者是如何在遊戲中實現擬真光照表現的。
答案是利用光柵化渲染,而這是也現代遊戲引擎的基礎。光柵化渲染是將一個個物體拆解成一個個三角形,再將三角形拆解成一個個的畫素,這一過程被稱為“光柵化”。並且在逐層拆解的過程中,GPU使用被稱為光柵器的單元計算出三角形投射在螢幕空間上的投影,分析哪些具體的畫素需要著色,最後渲染管線對畫素著色。這種渲染模式的好處就在於渲染過程高度並行化,效率極高,但壞處卻是失去了全域性資訊,不同的渲染管線負責對應的不同工作。
而光柵化渲染的侷限性,則在於這種渲染是“一個蘿蔔一個坑”的工作,在面對互動時的反饋不足。例如遊戲的靜態光照貼圖可能看起來光影效果逼真,但是一旦畫面動起來後陰影部分就可能會出現鋸齒和漏光等問題。
而光線追蹤技術作為一個擁有數十年曆史的“古老”圖形渲染技術,其與傳統的光柵化渲染也有所區別。光線追蹤是用來確定不同元素可見性的全域性性渲染方法,利用光的可逆性質來反向計算,將一個場景的渲染任務拆分成從觀察者也就是玩家視角出發的若干條光線對場景的影響,雖然這些光線彼此不知道對方,但卻知道整個場景的資訊,而每條光線會與場景並行的求交,並根據交點位置獲取表面的材質、紋理等資訊,再結合光源資訊來計算光照效果。
簡單來說,光線追蹤就是增加幾倍的光線反射次數,從而達到讓畫面更真實,明亮的效果,但是其同樣也有一個非常明顯的問題。那就是光線是有反射、折射、吸收等不同屬性的,這些光線和場景的求交會帶來龐大的計算量,因此對GPU的算力有著更高的要求,而這也是為什麼光線追蹤計算僅出現在NVIDIA和AMD的新款中高階產品上。
顯而易見,移動端由於硬體空間有限,SoC的面積無法媲美桌面GPU,甚至於對於散熱、功耗有著更高的要求。然而在這樣的情況下,移動端其實此前也已經有了實現“光線追蹤”的案例,且不提華為的鳳凰引擎,米哈遊在旗下的《崩壞3》上就已經利用了螢幕空間反射(SSR)實現。但這並非真正的光追,因為SSR是一個後處理效果,是將已經渲染出來的畫面貼到光線反射裡,所以當物體被遮擋時邊緣就會出現白邊。
當然,在移動端上實現光追之所以有可能,一方面是因為手機SoC電晶體數量的逐年提升給了效能進一步提高的可能,而另一方面,如今主流手遊的畫面水平還停留在720P,能達到1080P的遊戲也只有為數不多的大型重度遊戲,再加上本身貼圖數量就與桌面端3A遊戲不在一個量級,因此實現光追的算力要求相對更低。但考慮到移動端SoC的面積問題,FSR超取樣技術以及基於NPU幫助的軟硬體混合光追方案,三星的新款Exyons主控極有可能會選擇這一方式。
事實上,在移動端引入光線追蹤最大的難題可能並不在硬體端,而是在開發者層面。畢竟光線追蹤的目的,是為了讓遊戲畫面更加真實,而這種真實感來源於水面的倒影、物體表面的光線反射等細節堆砌而成,但是人眼的動態捕捉能力是有限的,反映到遊戲中,也就是玩家的視線基本都集中在自己控制的人物和敵方角色,以及地圖、血量等相關資訊上,再加上手機本身螢幕尺寸的限制,光追帶來的細節提升在動態遊戲處理資訊過程中往往很容易被忽略掉。所以換句話來說,就是擺在開發者面前的將是一道選擇題,是否用更漫長的渲染管線和更高的效能開支,來換取微小的畫面效果提升。
在移動端SoC,特別是安卓陣營還沒有達到蘋果M1的水準前,絕大多數開發者或許都不會選擇光線追蹤這一相對低價效比的解決方案。但三星方面還是選擇將光線追蹤技術帶入自家的SoC中,這其中必有“蹊蹺”。
有觀點認為,三星方面其實可能是在效仿當年高通的路子,希望透過引入桌面端的技術為奧援。在目前的Android陣營SoC中,高通驍龍之所以能夠傲視群雄,Adreno GPU相比於華為海思、聯發科天璣、三星Exyons更強的效能自然是一大原因。而Adreno GPU最初技術也並非高通自己的,而是來自ATi的Imageon移動圖形處理器產品線。
收購Imageno為高通如今的輝煌無疑奠定了良好的基礎,因此三星選擇與AMD合作,引入RDNA GPU技術也是有著歷史依據的。而對於AMD來說,作為如今在桌面GPU領域追趕NVIDIA的角色,擴大RDNA GPU的影響力也是其成為市場領頭羊的方式之一設,如果AMD的GPU能夠成功佔領移動端市場,哪怕是代替如今Mali GPU的地位,顯然也是一種成功。
所以在雙方各有所求的情況下,即便當下移動端遊戲開發者可能還沒有做好全面擁抱光線追蹤技術的準備時,三星和AMD還是需要先將聲勢造起來才行。