您最后一次在 PC 或游戲機(jī)上玩視頻游戲是什么時(shí)候?如果它是最受歡迎的游戲之一,您可能已經(jīng)注意到圖形的逼真程度。今天,最先進(jìn)的 PC 和主機(jī)游戲中的圖形正在接近我們?cè)陔娪爸锌吹降恼鎸?shí)感。
創(chuàng)建逼真的實(shí)時(shí)計(jì)算機(jī)生成圖形的最重要元素之一是場(chǎng)景的照明。渲染 3D 圖形的傳統(tǒng)方式(光柵化)在模擬逼真的光照和陰影方面并不是最強(qiáng)大的技術(shù)。這是因?yàn)楣鈻呕?a target="_blank">工作原理是將虛擬多邊形網(wǎng)格化為 3D 模型,然后將這些模型分解為必須單獨(dú)著色的像素,而這個(gè)過程需要大量的工作和計(jì)算資源,并且經(jīng)常需要復(fù)雜的開發(fā)人員技術(shù)。
電影動(dòng)畫師早就知道這一點(diǎn),轉(zhuǎn)而使用光線追蹤技術(shù)來制作全局照明、陰影和反射等效果。光線追蹤是一種輕松準(zhǔn)確地模擬光線行為的方法,可以讓場(chǎng)景看起來更逼真,并且創(chuàng)建工作量更少。該技術(shù)更符合人眼看待世界的方式,光線從環(huán)境中的物體反射回來,并根據(jù)物體的材料成分吸收/反射光線。
因?yàn)楣饩€追蹤可以實(shí)現(xiàn)更逼真的效果,開發(fā)人員可以使用它為游戲玩家創(chuàng)造更加身臨其境的體驗(yàn)。而且由于使用光線追蹤比使用傳統(tǒng)光柵化更容易創(chuàng)建這些效果,因此它可以騰出開發(fā)人員的時(shí)間來處理游戲的其他方面。
然而,在游戲中使用光線追蹤技術(shù)的缺點(diǎn)是,要獲得真正身臨其境的體驗(yàn),光線追蹤必須實(shí)時(shí)完成。這意味著必須在幾分之一秒內(nèi)渲染圖像,這使得它在處理和資源方面的成本高得令人望而卻步。
今天,市場(chǎng)上的硬件可以在控制臺(tái)和 PC 游戲中啟用實(shí)時(shí)光線追蹤效果,但它被選擇性地用于僅照亮場(chǎng)景中最關(guān)鍵的對(duì)象,并且在某些情況下,用戶可以決定如何使用它。考慮到性能限制,他們可以決定是否要使用它來生成反射與陰影,或者完全使用它——他們可能會(huì)選擇關(guān)閉它以優(yōu)化幀速率。底線是存在性能權(quán)衡。
當(dāng)前具有光線追蹤功能的硬件通過提供比前幾代更多的光線追蹤處理來提高性能,但它需要更多的硅面積和更多的功率。如今,在功率受限的設(shè)備中實(shí)現(xiàn)實(shí)時(shí)光線追蹤極具挑戰(zhàn)性,因此該技術(shù)還沒有為手機(jī)游戲玩家的屏幕增添光彩。然而,由于移動(dòng)游戲?qū)⒃?2021 年占全球游戲市場(chǎng)的 52% ,因此這是一個(gè)不容忽視的圖形人口統(tǒng)計(jì)數(shù)據(jù)。
當(dāng)今移動(dòng)設(shè)備中的圖形
盡管尚未獲得光線追蹤技術(shù)的幫助,移動(dòng)圖形質(zhì)量仍在繼續(xù)提高。隨著圖形變得越來越逼真,使用傳統(tǒng)技術(shù)制作它們的能力變得越來越復(fù)雜,這將性能、帶寬和功率要求推向了移動(dòng)處理器的極限。
陰影的產(chǎn)生就是一個(gè)很好的例子。陰影生成傳統(tǒng)上是通過級(jí)聯(lián)陰影貼圖完成的——這個(gè)過程需要大量的幾何處理、大量緩沖區(qū)的分配、以高分辨率處理多個(gè)渲染目標(biāo)以及昂貴的著色器操作。在處理周期、功耗和帶寬方面的成本是巨大的。而且,在所有這些投資之后,結(jié)果仍然不如通過使用光線追蹤以更容易的方式創(chuàng)建的結(jié)果那么現(xiàn)實(shí)。
使用光線追蹤技術(shù),光線從單個(gè)像素發(fā)送到光源,如果光線擊中某物,該區(qū)域就會(huì)處于陰影中。每像素一條射線使這成為一個(gè)簡(jiǎn)單、廉價(jià)且直接的過程,尤其是在使用專用硬件的情況下。傳統(tǒng)光柵化遇到的許多分辨率問題、偽影和其他挑戰(zhàn)(例如避免浮動(dòng)幾何所需的偏置)在光線追蹤中不存在。只要可以有效地實(shí)現(xiàn)專用硬件,創(chuàng)建光照和陰影效果就變成了一個(gè)微不足道的挑戰(zhàn)。
今天,該行業(yè)正處于一個(gè)交叉點(diǎn),使用陰影貼圖和其他傳統(tǒng)技術(shù)進(jìn)行的近似變得如此昂貴,以至于實(shí)時(shí)光線追蹤實(shí)際上正在成為一種更有效的選擇。此外,隨著我??們接近摩爾定律的終結(jié),我們不能再指望可編程硬件每?jī)赡暌灾笖?shù)方式變得更強(qiáng)大。因此,為了繼續(xù)加快光線追蹤技術(shù)的進(jìn)步,特別是對(duì)于功率受限的移動(dòng)平臺(tái),業(yè)界必須尋求高效設(shè)計(jì)的固定功能加速器解決方案。
在移動(dòng)設(shè)備中不斷制作更好的圖形的關(guān)鍵在于硬件和開發(fā)人員優(yōu)化技術(shù)的效率。
光線追蹤硬件的現(xiàn)狀
實(shí)時(shí)光線追蹤技術(shù)長(zhǎng)期以來一直是 3D 圖形的圣杯。光線追蹤可以在不同級(jí)別的性能和效率下執(zhí)行,為了突出這一點(diǎn),Imagination 建立了光線追蹤級(jí)別系統(tǒng)(RTLS),識(shí)別了從 0 級(jí)到 5 級(jí)的六個(gè)級(jí)別的光線追蹤。最初的硬件加速光線追蹤工作 –我們?cè)?RTLS 量表上所說的 0 級(jí)并不是最優(yōu)的。這些解決方案功能有限,需要定制硬件和應(yīng)用程序編程接口 (API)。當(dāng)然,這些解決方案對(duì)開發(fā)人員來說并不是很有趣。市場(chǎng)隨后發(fā)展到“1 級(jí)”解決方案,該解決方案在傳統(tǒng) GPU 上使用基于軟件的計(jì)算。這樣的解決方案提供了更大的靈活性,但距離理想還有很長(zhǎng)的路要走。
我們今天在市場(chǎng)上看到的大多數(shù)光線追蹤技術(shù)(例如用于 PC 和游戲機(jī))都是我們所說的 2 級(jí) RTLS 解決方案。這些具有用于光線追蹤最基本和最廣泛操作的專用硬件:針對(duì)相交的方框和三角形測(cè)試光線。將其放入固定功能的硬件中可以獲得更好的電源效率,但對(duì)于移動(dòng)設(shè)備來說仍然不夠好。在 GPU 計(jì)算核心上的軟件著色器程序中,還有多個(gè)額外級(jí)別的光線追蹤過程需要完成,更糟糕的是,這些處理階段對(duì) GPU 內(nèi)的并行執(zhí)行引擎并不友好。這也導(dǎo)致傳統(tǒng)圖形效果的性能降低,并且在使用算術(shù)邏輯單元(ALU)管道方面效率不高,
當(dāng)今市場(chǎng)上最復(fù)雜的光線追蹤解決方案處于 3 級(jí)。這些解決方案在專用硬件中實(shí)現(xiàn)了更多的光線追蹤功能,卸載了著色器內(nèi)核以提高效率。在此級(jí)別,涉及遍歷包圍體層次結(jié)構(gòu) (BVH)(光線追蹤的主要數(shù)據(jù)結(jié)構(gòu))的完整光線相交處理在專用硬件中實(shí)現(xiàn)。這提高了更復(fù)雜場(chǎng)景的光線追蹤效率,并更好地卸載了光線追蹤功能,減少了對(duì)傳統(tǒng)圖形性能的影響。
但是,這些解決方案仍然缺乏使光線追蹤在移動(dòng)設(shè)備中成為可能所需的基本組件:相干性收集。由于光線傾向于在許多不同的方向上散射,如果不解決相干性問題,GPU 通常具有的許多并行性優(yōu)勢(shì)就會(huì)喪失。這會(huì)導(dǎo)致較低的帶寬利用率、復(fù)雜的數(shù)據(jù)訪問模式以及著色器管道處理效率的降低。雖然這些解決方案可能聲稱可以實(shí)現(xiàn)每秒高千兆射線,但它們通常效率低下。這可能與 GPU 處理資源的低利用率或內(nèi)存訪問限制有關(guān),這是由于光線在整個(gè)場(chǎng)景中的散射導(dǎo)致的非相干內(nèi)存訪問模式造成的。
要讓實(shí)時(shí)光線追蹤在移動(dòng)設(shè)備中成為現(xiàn)實(shí),它與效率、利用 GPU 中固有的并行性以及開發(fā)用于硬件優(yōu)化的智能算法有關(guān)。需要的是更智能的硬件解決方案。
更智能的光線追蹤硬件
該行業(yè)必須超越 3 級(jí)硬件,才能在移動(dòng)設(shè)備中實(shí)現(xiàn)實(shí)時(shí)光線追蹤。在 Imagination,迄今為止,我們已經(jīng)為超過 100 億臺(tái)移動(dòng)設(shè)備提供了 3D 圖形技術(shù)。我們知道如何在高效的硬件中提供令人驚嘆的圖形。2016 年,Imagination 的光線追蹤開發(fā)板已經(jīng)比當(dāng)今市場(chǎng)上的解決方案更加復(fù)雜?,F(xiàn)在,我們將 4 級(jí) RTLS 光線追蹤解決方案推向市場(chǎng)。
在第 4 級(jí),BVH 的光線遍歷是在專用硬件中完成的,就像在第 3 級(jí)中一樣,但更關(guān)鍵的是,光線的相干性排序也是如此。在此過程中,我們將沿同一方向傳播的光線分組,從而允許處理大批量以充分利用構(gòu)成每個(gè) GPU 基礎(chǔ)的并行計(jì)算方法。
長(zhǎng)期以來,我們一直利用 GPU 中固有的并行性以及基于切片的渲染等技術(shù),通過這些技術(shù),我們通過切片的空間局部性排序來提高效率。今天,這是普遍接受的做法?,F(xiàn)在,我們通過光線的分類將相同的想法帶入光線追蹤。通過這種方式,我們提高了寬 ALU 的整體利用率并顯著提高了測(cè)試效率。對(duì)傳統(tǒng)圖形性能的影響也很小,因?yàn)槲覀儙缀鯇⒐饩€追蹤處理完全卸載到專用硬件中,讓著色器核心可用于所有其他非光線追蹤處理。
我們的第 4 級(jí) RTLS 解決方案代表了當(dāng)今可用的最高光線追蹤,并且很快就會(huì)采用這種技術(shù)實(shí)現(xiàn)市場(chǎng)化。借助 Imagination 的 4 級(jí)光線追蹤 IP IMG CXT,公司可以構(gòu)建 FP32 光柵化性能高達(dá) 9TFLOPS 和光線追蹤性能超過 7.2GRay/s 的 SoC,同時(shí)實(shí)現(xiàn)高達(dá) 2.5 倍的功率效率。到今天的 2 級(jí)或 3 級(jí)解決方案。
開發(fā)者優(yōu)化技術(shù)
即使是最高效的硬件仍然可以使用一些幫助來在移動(dòng)平臺(tái)上提供最佳圖形質(zhì)量。移動(dòng)設(shè)備的優(yōu)化比控制臺(tái)或 PC 更重要,在某種程度上,通過暴力破解帶寬和功率預(yù)算可用性過高的問題來容忍低效率。手機(jī)沒有這種蠻力容忍度,因?yàn)橐磺卸急仨氁院苄〉男问焦ぷ鳎⒒谛‰姵靥峁┑哪芰窟\(yùn)行。手機(jī)的特性意味著硬件必須由游戲引擎有效驅(qū)動(dòng),以確保手機(jī)不會(huì)過熱、降低時(shí)鐘和降低幀率。這意味著為移動(dòng)設(shè)備創(chuàng)建硬件的關(guān)鍵之一是優(yōu)化管理熱效應(yīng)。
我們告訴開發(fā)人員首先要考慮的是少即是多:并非場(chǎng)景中的每個(gè)像素都需要光線追蹤。我們建議開發(fā)者使用他們的光線追蹤預(yù)算來獲得最大的視覺沖擊和游戲體驗(yàn)價(jià)值。同樣,針對(duì)每個(gè)三角形測(cè)試每條射線也太復(fù)雜了。通過構(gòu)建有效的層次結(jié)構(gòu),開發(fā)人員可以在確定要測(cè)試哪些三角形時(shí)提高硬件效率。構(gòu)建最好的加速結(jié)構(gòu)通常最好離線完成。
開發(fā)人員還應(yīng)避免使用所有蠻力算法。像軟陰影這樣的效果可以通過像素間更智能的采樣器模式來實(shí)現(xiàn),并將它們與空間過濾器結(jié)合起來,而不是在每個(gè)像素中發(fā)出許多光線。此外,大多數(shù)光線追蹤效果可以以較低的分辨率渲染——例如,以四分之一的分辨率進(jìn)行處理——然后按比例放大。然后可以使用圖像的時(shí)間和空間屬性通過去噪濾波器減輕稀疏采樣的光線追蹤噪聲。其中許多階段可以折疊在一起,并且可以在傳統(tǒng)的 GPU 計(jì)算硬件上高效運(yùn)行。還可以利用幾乎每部手機(jī)中已經(jīng)提供的專用神經(jīng)網(wǎng)絡(luò)加速引擎。
開發(fā)人員可以使用許多其他技術(shù)來優(yōu)化移動(dòng)設(shè)備,例如全局照明的動(dòng)態(tài)探針、API 的周到使用等等。最重要的是,高效的光線追蹤硬件與智能開發(fā)人員優(yōu)化相結(jié)合,將是讓實(shí)時(shí)光線追蹤在移動(dòng)設(shè)備上成為現(xiàn)實(shí)的關(guān)鍵。
移動(dòng)設(shè)備的游戲規(guī)則改變者
有可能——通過新的高效專用硬件和設(shè)計(jì)技術(shù)——將光線追蹤技術(shù)引入移動(dòng)設(shè)備。這是一個(gè)真正的游戲規(guī)則改變者。它不僅可以為開發(fā)人員提供世界上最大的游戲人群,還可以使移動(dòng)設(shè)備制造商在其產(chǎn)品中進(jìn)一步實(shí)現(xiàn)差異化,并允許開發(fā)人員在移動(dòng)設(shè)備上創(chuàng)建新的沉浸式用戶體驗(yàn)。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19100瀏覽量
228814 -
gpu
+關(guān)注
關(guān)注
28文章
4673瀏覽量
128593 -
API
+關(guān)注
關(guān)注
2文章
1472瀏覽量
61749
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論