作者:Kristof Beets,Imagination Technologies技術前瞻副總裁 你最后一次在電腦或游戲機上玩電子游戲是什么時候?如果它是最受歡迎的游戲之一,你可能已經注意到其圖形是多么的逼真。今天,最尖端的PC 和游戲機中的圖形正接近我們在電影中看到的真實圖片。 在創建照片級真實感實時計算機生成圖形時,最重要的元素之一是場景的照明。模擬真實的燈光和陰影時,傳統的3D圖形渲染方法——光柵化——并不是最有效的技術。這是因為光柵化的工作原理是將虛擬多邊形網格化為3D模型,然后將其分解為必須單獨著色的像素,這一過程需要極其繁重的工作和計算資源,并且通常需要復雜的開發技術。 電影動畫師早就知道這一點,是以他們使用光線追蹤技術來創建全局照明、陰影和反射等效果。光線追蹤是一種簡單并準確地模擬光行為的方法,它可以使場景看起來更逼真,而且工作更少。這項技術更符合人眼看世界的原理,光通過環境中的物體產生反射,并基于物體的材質吸收/反射光線。 光線追蹤可以實現更逼真的效果,開發人員可以使用它為游戲玩家創造更沉浸式的體驗。同時,使用光線追蹤比使用傳統光柵更容易創建這些效果,因此開發人員可以騰出時間來處理游戲的其他方面工作。 然而,在游戲中使用光線追蹤技術的缺點是,要獲得真正的沉浸式體驗,光線追蹤必須實時完成。這意味著圖像必須在幾秒鐘內渲染完成,這使得它在處理計算和資源方面成本昂貴。 如今,市場上的硬件可以在游戲主機和 PC 游戲中實現實時光線追蹤效果,但它有選擇地只用于照亮場景中最關鍵的對象,在某些情況下,開發者可以決定如何使用它。考慮到性能限制,開發者們可以決定是使用它生成反射還是陰影, 還是完全使用光線追蹤——可以選擇關閉以優化幀率。游戲性能是考慮的底線。 與前幾代技術相比,目前帶有光線追蹤的硬件通過提供更多的光線追蹤處理來提高性能,但它需要更大的芯片面積和更高的功耗。而當前在電源受限的設備中實現實時光線追蹤極具挑戰,因此這項技術尚未在移動游戲玩家的設備屏幕上大顯身手。不過,據有關數據顯示,移動游戲很快將占據全球游戲市場的52%(NewZoo, 2021年),移動游戲的體驗成為未來發展不容忽視的方向。 移動設備中的圖形 即便沒有光線追蹤技術的幫助,移動圖形的質量仍在不斷提高。隨著圖形變得越來越真實,使用傳統技術生成圖形的能力變得越來越復雜,這正將性能、帶寬和功耗要求推到了移動處理器的極限。 陰影生成就是一個很好的例子。陰影生成傳統上是通過級聯陰影貼圖(CSM, Cascaded shadow maps)完成的,這一過程需要大量的幾何體處理、大量緩沖區的分配、高分辨率下多個渲染目標的處理以及昂貴的著色器操作。就處理周期、功耗和帶寬而言,成本是巨大的。而且,在進行了所有這些操作之后,結果仍然不如使用光線追蹤更容易,創建的結果那么真實。 使用光線追蹤技術,光線從單個像素發送到光源,如果光線擊中某個物體,該區域將處于陰影中。每像素一條光線使這成為一個簡單、廉價和直接的過程,特別是在專用硬件到位的情況下。傳統光柵化所遇到的許多分辨率問題、偽影和其他挑戰(如避免浮動幾何體所需的偏移)在光線追蹤中并不存在。只要專用硬件能夠高效實施,創建照明和陰影效果就是微不足道的挑戰。 今天,這個行業正處于交叉點,使用陰影貼圖和其他傳統技術進行的近似操作正變得非常昂貴,而實時光線追蹤正成為一種更高效的選擇。此外,隨著摩爾定律接近尾聲,我們不能再依賴可編程硬件仍然每兩年呈現指數級增長。因此,要繼續加快光線追蹤技術的推進,特別是電源有限的移動平臺,業界必須尋求高效設計的固定功能加速器解決方案。 在移動設備中持續打造更好的圖形關鍵在于硬件和開發人員優化技術效率。 光線追蹤硬件現狀 實時光線追蹤技術長期以來一直是3D圖形的圣杯。光線追蹤可以以不同的性能和效率水平執行,為了闡明這一點,Imagination建立了光線追蹤等級系統(RTLS),確定6級光線追蹤,從0級到5級。最初的硬件加速光線追蹤工作 - 我們稱之為"0級"的RTLS等級,不是最佳的。這些解決方案的功能有限,需要定制硬件和應用程序編程接口(API)。當然,這些解決方案并不能吸引開發人員。然后,市場發展到"1級"解決方案,該解決方案使用基于傳統GPU的軟件技術。這些解決辦法提供了更大的靈活性,但離理想狀態還有很長的路要走。 我們今天在市場上看到的大多數光線追蹤技術(例如用于 PC 和游戲機)就是我們所說的"2 級"RTLS 解決方案。該方案為光線追蹤的最基本和最廣泛的操作提供了專用硬件:針對三角形/盒的交集測試器。將此操作放在固定功能硬件中可以實現更高的能效,但對移動設備來說仍不夠好。因為依舊會將多個級別的光線追蹤處理運行在 GPU 上的shader,這些處理階段對GPU的并行執行引擎并不友好。這還導致傳統圖形性能和算術邏輯單元 (ALU)管線效率降低,從而限制了總體吞吐量。 當今市場上最復雜的光線追蹤解決方案位于3級。這些解決方案在專用硬件中實現更多的光線追蹤功能,減輕了著色器的負擔,提高了效率。在這個級別上,通過遍歷邊界體積層次結構(BVH)——光線追蹤的主要數據結構,完整光線相交處理在專用硬件中實現。這提高了更復雜場景的光線追蹤效率,并更好地轉移光線追蹤功能,減少了對傳統圖形性能的影響。 然而,這些解決方案仍然缺乏一個必要的組成部分,它使得光線追蹤在移動設備成為可能:一致性排序。由于光線傾向于分散在許多不同的方向,如果一致性問題沒有解決,通常GPU帶來的諸多并行優勢將丟失。這會導致較低的帶寬利用率、復雜的數據訪問模式以及著色器管線處理效率降低。雖然這些解決方案可能會聲稱實現超每秒千兆光線的處理能力,但它們的效率通常較低,與GPU 處理資源利用率低或內存訪問限制有關,這是由于光線在整個場景中散射造成的非相干的內存訪問模式造成的。 要在移動設備中實現實時光線追蹤,關鍵在于效率,我們要利用 GPU固有的并行性,并開發優化硬件的智能算法。這需要更智能的硬件解決方案。 智能光線追蹤硬件 業界必須超越3級硬件,才能在移動設備中實現實時光線追蹤。在Imagination,我們已經為超過100億臺移動設備提供了3D圖形技術。我們知道如何在高效的硬件中提供令人驚嘆的圖形。2016 年,Imagination 的光線追蹤開發板已經比當今市場上的解決方案復雜得多。現在,我們為市場帶來了4級RTLS光線追蹤解決方案。 在4級解決方案中,邊界體積層次(BVH)的光線遍歷與3級一樣在專用硬件中完成,更重要的是,光線相干性排序也是如此。在這個過程中,我們對同一個方向的光線進行分組,允許大批量的處理充分利用GPU的并行計算能力。 長期以來,我們一直利用GPU固有的并行性,采用基于分塊的渲染等技術,通過空間布局性分塊排序提高效率。今天,這是普遍接受的做法。現在,我們將同樣的想法帶到了光線追蹤中。通過這種方式,我們提高了寬ALU的總體利用率,并顯著提高了測試效率。對傳統圖形性能的影響微乎其微,因為我們幾乎完全將光線追蹤處理轉移到專用硬件中,使著色器可用于其他非光線追蹤的圖形處理。 我們的4 級 RTLS 解決方案代表了當今最高級的光線追蹤方案,并且很快將有采用該方案的設備上市。借助Imagination 4 級光線追蹤 IP(IMG CXT GPU IP),公司可構建高達 9TFLOPS 的 FP32 光照性能和超過 7.2G光線/秒 的光線追蹤性能,同時提供比 2 級和 3 級解決方案高達 2.5 倍的功耗效率。 當我們推出IMG CXT時,我們并沒有止步不前。我們已經在演示如何使用5級光線追蹤方案實現完全可編程的光線追蹤技術。 開發人員優化技術 即使是最高效的硬件也需要技術輔助,以在移動平臺上提供最佳的圖形質量。 移動設備的優化更為重要,因為游戲機或PC在某種程度上承載了帶寬和功耗預算可用性過大的問題。手機沒有這種蠻力耐受性,任何東西都必須在微小的外形因素下工作,并基于微小電池提供的能量運行。手機的特點意味著硬件必須由游戲引擎高效驅動,以確保手機不會過熱,降幀速率。這意味著,為移動設備創建硬件的關鍵之一是優化管理電池發熱帶來的影響。 我們告訴開發人員的第一件事是,少即優:不是場景的每個像素都需要光線追蹤。我們建議開發人員使用他們的光線追蹤預算,以達到最大的視覺沖擊和游戲體驗價值。同樣,它太復雜了,無法對每一個三角形的光線進行測試。通過構建一個有效的層次結構,開發人員可以在確定要測試的三角形時提高硬件效率。構建最佳加速結構通常最好離線完成。 開發人員還應避免所有暴力算法。像軟陰影這樣的效果可以通過更智能的采樣器模式實現,并結合空間過濾器,而不是每個像素發出許多光線。此外,大多數光線追蹤效果可以以較低的分辨率呈現,例如,以四分之一分辨率進行處理,然后按比例放大。然后,可以使用圖像的時間和空間特性,使用去噪減輕因稀疏采樣帶來的光線追蹤噪聲。其中許多階段可以合并在一起,在傳統GPU計算硬件上高效運行。它也可以利用專用的神經網絡加速引擎,這些引擎幾乎已經在每一部手機上已經存在。 開發人員還可以使用許多其他技術來優化移動設備,例如用于全局照明的動態探測器、應用程序編程接口(API)的謹慎使用等。歸根結底,高效的光線追蹤硬件與智能開發優化相結合將是實現移動設備實時光線追蹤的關鍵。 移動設備游戲規則的變革者 光線追蹤正在為新一代PC和游戲機實現更真實的圖形掀起新的浪潮。這是有望引入移動設備的技術,借助全新的高效專用硬件和設計技術。這是真正的游戲規則變革者。它將把世界上最龐大的游戲玩家群體帶向開發者,為移動設備制造商提供一種新的差異化方式,并實現全新的沉浸式移動用戶體驗。 |