當前位置: 華文世界 > 科技

Unreal遊戲GPU參數詳解,遊戲效能最佳化再升級

2024-05-09科技

UWA GOT Online For Unreal GPU模式近期全新釋出,方便開發者從渲染和頻寬的角度進行GPU分析。同時,此次更新中UWA也增加了豐富的GPU參數,涵蓋了GPU SoC和GPU Counter模組。這些新增的參數不僅能夠幫助Unreal開發者從宏觀層面監控GPU的壓力狀況,還能夠提供更全面、更精確的數據資訊,以確定GPU壓力的來源。

下面,我們將詳細解讀SoC GPU資訊以及GPU Counter相關的數據,並給出UWA的建議,助力開發者更好地理解和最佳化GPU效能。

GPU SoC目前支持MTK芯片和安卓10及以上的HISI SoC芯片器材,開發者可以透過這些參數,從更宏觀的角度對器材的GPU執行情況進行監控,觀察GPU執行狀態、判斷是否存在GPU降頻情況。

GPU Freq
GPU Freq表示當前采樣幀GPU的工作頻率,不同型號和廠商的GPU具有不同的額定最大頻率,且GPU會動態調整工作頻率。開發者可以透過GPU頻率觀察GPU的工作情況,結合GPU Counter下的具體參數,快速判斷GPU是否處於正常工作狀態。

GPU Usage
GPU Usage表示GPU頻率相對GPU額定最大頻率的百分比,該參數走勢和GPU頻率走勢一致。當GPU負載持續較高時,說明器材持續處於高壓場景,長期處於這種情況容易引起GPU過熱,造成遊戲效能表現下滑,需要開發者結合GPU Counter模組重點關註這些場景的GPU壓力。

DDR Freq
在HISI SoC器材上,還支持DDR Freq參數,表示器材系統記憶體頻率,而DDR的工作狀態也會影響到GPU的效能釋放。

GPU Load
在MTK SoC器材上支持GPU Load統計,該值表示GPU的時鐘周期數占當前可用時鐘周期數的百分比,即當前額定頻率的利用率。需要註意的是,GPU利用率僅表示當前頻率下GPU的使用情況,而非GPU壓力情況。

GPU Counter是對GPU數據進行了更全面的補充。本次更新增加了大量的GPU Counter參數,進一步完善了GPU數據的全面性和準確性。其中一些參數在Mali、PowerVR、Adreno GPU芯片器材上都可以獲取到,以便開發者對專案的GPU效能壓力情況進行更準確的判斷。

需要註意的是,基於各個廠商的GPU架構不同,同一參數在不同品牌芯片上的推薦值也會存在差異,不同器材間橫向對比的意義不大,UWA更推薦大家在相同的器材上進行縱向對比。

GPU Clocks
GPU Clocks,表示渲染一幀耗費的GPU時鐘周期數,是用於衡量GPU效能的主要指標。透過GPU Clocks,開發者可以快速定位專案的GPU壓力主要來自哪些場景,並結合GPU Counter下的其他參數對GPU壓力情況進行具體分析。

GPU Shaded
GPU Shaded包括Fragment shaded、Vertices shaded和Cycles/Pixel三項指標。Cycles/Pixel表示專案的平均每像素復雜度,新增的Fragment shaded則可以從另一個方面體現專案的Overdraw情況。

其中Fragment shaded表示每幀Fragment shader執行了多少次,用Fragment shaded數除以器材分辨率,可以側面反映專案的Overdraw情況。當Overdraw較高時,容易引起發熱和能耗方面的問題。我們可以透過降低半透明粒子特效的粒子數量、使用不規則面片代替矩形面片渲染粒子特效或UI等方式,減少專案的Overdraw層數,降低GPU壓力。

而Vertices shaded則表示每幀Vertex shader執行了多少次。使用Vertices shaded除以輸入圖元數,即可得到平均每個圖元進行了多少次Vertices shaded。

GPU Primitive-Culled Primitives
對GPU Primitive下的Culled Primitives,UWA也進行了更細致的拆分,新增了二級參數FacingCullingPrimitives(面剔除圖元數)、FrustumCullingPrimitives(視錐剔除數)、CoverageCullingPrimitives(微圖元剔除數)。

透過這些參數,開發者可以迅速確定Culled Primitives的構成比例,以便有針對性地檢查和最佳化那些場景中可能存在GPU浪費的資源。

除了上述參數外,本次更新也根據不同品牌芯片的特點,分別獲取到了獨特的參數。透過這些參數,開發者可以對數據進行進一步分析,精準定位GPU效能壓力的源頭。

GPU Shader Instructions
GPU Shader Instructions,即每幀GPU執行的Shader指令數。GPU Shader Instructions和現有的Shader Cycles是兩個層面的含義,Shader Cycles是指Shader在GPU上實際執行時的處理周期,Shader Instructions指Shader所包含的所有指令運算元。

GPU Bandwidth-Read Total
在GPU Bandwidth的Read Total下,新增了二級參數Front-end Read、LoadStore Read和Texture Read,分別對應GPU的Tile Unit、Load/Store Unit和Texture Unit三個處理單元頻寬,包括TileList數據、頂點輸入內容數據、Uniform數據、顏色/深度數據、紋理數據的讀取。

Memory Bus Utilization
GPU Memory Bus Utilization,即每幀GPU記憶體總線負載。它表示當前GPU頻寬消耗占總可用頻寬的百分比。當GPU Memory Bus Utilization持續較高時,說明GPU存取記憶體的頻率過於頻繁,可以透過減少紋理資源與網格資源的大小和數量控制GPU緩存的占比。

GPU Bandwidth-Read Total
在GPU Bandwidth的Read Total下,新增Vertex Read、SP Read和Texture Read參數,和Mali GPU下一樣,也包括了TileList數據、頂點輸入內容數據、Uniform數據、顏色/深度數據、紋理數據的讀取。

以上就是本次GOT Online For Unreal服務中新增的GPU參數。希望開發者能夠結合這些參數,更加充分地了解專案的GPU效能壓力情況,進而實作更高效的問題解決與效能最佳化。未來,UWA還將繼續深入研發,探索更多效能最佳化的可能性,為開發者提供更多實用的工具和功能。

如果對這些功能感興趣,這個可前往UWA官網的「GOT Online支持器材列表」,選擇合適的器材進行測試:
https://www.uwa4d.com/main/supported.html 「連結」

希望快速試用的開發者,可以前往UWA官網,下載最新版Unreal SDK v2.2.0,並獲得14天免費試用的權益。
UWA | 致力於遊戲VR和AR套用提供專案研發解決方案 | 簡單最佳化、最佳化簡單 | 侑虎科技

相關推薦
Unreal遊戲GPU效能最佳化檢測模式全新上線 - UWA問答 | 網誌 | 遊戲及VR套用效能最佳化記錄分享 | 侑虎科技
GPU Counter功能更新|支持Adreno、PowerVR芯片 - UWA問答 | 網誌 | 遊戲及VR套用效能最佳化記錄分享 | 侑虎科技
新功能|Mali GPU Counter模組新增GPU圖元處理和GPU Shader Cycles - UWA問答 | 網誌 | 遊戲及VR套用效能最佳化記錄分享 | 侑虎科技
GPU Counter、Timeline功能上線 | 效能最佳化快人一步! - UWA問答 | 網誌 | 遊戲及VR套用效能最佳化記錄分享 | 侑虎科技