新版 STATE 行動裝置透過 Android GPU 檢查器將 GPU 用量降低 22%

背景

NEW STATE Mobile 是 2021 年 11 月在全球推出的大逃殺遊戲,首月就獲得超過 4, 500 萬次下載。KRAFTON, Inc. 是多家獨立遊戲開發工作室的合作對象,致力為世界各地的遊戲玩家打造創新又引人入勝的娛樂體驗。他們包括 PUBG Studios、Bluehole Studio、Striking Distance Studios、RisingWings、Dreamotion 和 Unknown Worlds,各自具備獨特的專業知識。新 STATE Mobile 是由 Unreal Engine 4 打造而成,他們已進行了許多嘗試,以降低因同類遊戲功能偏高的 GPU 用量而造成的熱用量和電池消耗量。

玩家可以進行長時間戰鬥,因此遊戲引擎必須能夠從遠處轉譯場景。此外,戰場上存在許多植被,導致這些植被的過度繪製,對於效能下降的幫助有很大的影響。因此,該團隊決定採用 Android GPU Inspector (AGI),為遊戲的 GPU 用量進行最佳化調整,並排除瓶頸。

New STATE Mobile 的螢幕截圖

圖 1:New STATE Mobile 的螢幕截圖

具體措施

NEW STATE Mobile 使用 AGI 存取 GPU 計數器資訊的負載,並據此最佳化其 GPU 用量。透過 AGI 提供的 GPU 活動剖析資料,找出不必要的算繪通道。找出佔用 GPU 用量和記憶體頻寬的線段後,他們持續使用 GPU 計數器和 GPU 活動來檢查最佳化進度,確認這些線段是否朝正確的方向前進。

New STATE Mobile 的螢幕截圖

圖 2:New STATE Mobile 的螢幕截圖

他們透過 AGI 瞭解了以下遊戲效能相關知識:

  • 基本通過最佳化:深度預先傳遞技術會提高 Early-z 的使用率,有助於減少使用片段陰影。深度預先傳遞功能專門用於 LOD0,這會佔用大部分的螢幕空間,以便將額外繪製呼叫造成的負擔降到最低。此外,使用 32 位元的場景顏色格式也能提升整個算繪通道的效能。UnrealEngine4 的預設 SceneColor 格式是 FloatRGBA,也就是 64 位元。如果使用 32 位元格式,記憶體頻寬可能會減少一半。

  • 已測量影響:套用深度探針後,GPU 使用率下降 7.5%。基於深度預先傳遞,更多片段可以是早期 Z 版本。片段陰影所需時間減少 2%。使用 32 位元的場景顏色格式,GPU 使用率降低了 5.3%。著色器的忙碌狀態減少了 2%,從系統記憶體的 GPU 讀取總數減少了 330 MB/秒。將 GPU 寫入系統記憶體的資料量減少 78 MB/秒,而紋理記憶體讀取量也減少了 43 MB/秒。

  • 陰影傳遞最佳化:將網格做為陰影投射器使用時,使用高多邊形 LOD 並不會實際影響品質。建議您使用低多邊形 LOD,有助於減少三角形數量。在 Unreal Engine 4 中,你可以透過控制台指令「ForceLODShadow」使用低多邊形 LOD。

  • 已測量的影響:用於陰影的三角形數量減少約 120,000。AGI 的 GPU 計數器資料顯示,GPU 使用率降低約 2%、透過系統記憶體讀取的 GPU 記憶體量減少了 130 MB,而從 GPU 寫入系統記憶體的資料量則減少約 23 MB。

  • 自動進入:自動登入功能可同時套用至影子傳遞和基本傳遞最佳化,可讓您在執行階段合併相同的算繪指令,然後一次全部轉譯。這可讓 NEWSTATE 行動裝置對個別物件套用全域照明,而不會失去效能。自動登入是 UnrealEngine4 提供的基本功能,

  • 已評估影響:繪圖呼叫已減少 500 次。這樣就能減少約 48% 的繪製呼叫。GPU 使用率減少約 3.5%。這些測量結果使用 OpenGL。

顯示 GPU 用量減少的內部資料

圖 3:顯示 GPU 用量降低情形的內部資料

成果

採用 AGI 後,NEW STATE Mobile 的 GPU 用量減少了 22%。從深度預先傳遞和陰影傳遞最佳化來看,GPU 用量分別下降 19% 和 3%。此外,繪圖呼叫以及 GPU 從系統記憶體讀取及寫入的記憶體總量也大幅減少。

開始使用

瞭解如何使用 Android GPU Inspector (AGI) 找出效能問題和最佳化區域,藉此分析遊戲在 Android 裝置上的影響力。