遊戲模式干預

遊戲模式介入措施 原始設備製造商 (OEM) 針對遊戲設定最佳化的設定 來針對不再由 開發人員。例如:

  • 使用 WindowManager 後端緩衝區調整大小。
  • 使用 ANGLE 而非原生 GLES 驅動程式。

可以讓遊戲支援並管理 Game Mode API 以便覆寫 原始設備製造商 (OEM) 提供的遊戲模式介入措施。

以下裝置提供 Game Mode API 和介入措施:

  • 選取「Android 12」裝置
  • 搭載 Android 13 以上版本的裝置

每個遊戲都能:

  • 實作 Game Mode API 行為。
  • 向原始設備製造商 (OEM) 提出遊戲模式介入措施設定,或
  • 明確選擇停用遊戲模式介入措施。
,瞭解如何調查及移除這項存取權。

背景

本節說明遊戲模式介入措施的用途與最佳化方式 遊戲。

WindowManager 後端緩衝區大小調整

WindowManager 後端緩衝區調整大小干預功能可以降低裝置的 GPU 負載。此外,當遊戲設有目標畫面更新率時,還能降低電池耗電量。

啟用大小調整功能可降低最多 30% 的 GPU,以及佔整體 GPU 的 10% 系統耗電量結果可能會因使用的裝置、環境條件和其他因素 (例如同時處理) 而有所不同。

在 GPU 負載降低時,依賴 GPU 效能但未設定速率的遊戲可能會獲得較高的畫面更新率。

強烈建議 配速緩慢,因為畫面更新率明顯不均 對使用者觀感的影響

FPS 節流

Android 每秒影格數 (FPS) 節流是一種遊戲模式介入措施,可讓遊戲 更穩定的畫面更新率,以降低電池耗電量。介入措施是 Android 13 以上版本。如要 相關資訊,請參閱 FPS 節流總覽

評估遊戲模式介入措施

本節使用 adb 指令。

設定模式

您必須在應用程式的 遊戲模式設定檔 再測試遊戲模式介入措施否則平台會略過 並只顧及遊戲內的最佳化。

<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsBatteryGameMode="false"
    android:supportsPerformanceGameMode="false"
/>

(選用) 備份現有裝置設定

對 Pixel 或其他裝置,遊戲前可能有乾預行動 即可。您可以使用下列指令查詢設定:

adb shell device_config get game_overlay <PACKAGE_NAME>

如果查詢傳回 null,請忽略現有設定。如果不需要,請儲存 並在評估完成後重設

評估介入措施

如要自行評估 WindowManager 後端緩衝區大小介入措施,請使用 下列指令可以為不同區域的 WindowManager 緩衝區調整大小值 遊戲模式。

adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5

在上述範例中,mode=2 是「Performance」(效能),且mode=3 就是「省電模式」。downscaleFactor 值指定為 會套用至大小調整設定 (例如 0.7 為 70%,0.8 為 80%)。90% (0.9) 調整大小幾乎可以忽略,而 50% (0.5) 則相當顯著。

警告:在 Android 12 中,子程序可能無法正確調整大小。於 務必確保浮動式訊息和彈出式視窗可以正確顯示三 建議您將大小調整設定限制在 70% 以上。

新的大小調整間隔設定完成後,請在遊戲模式之間切換,看看 您的遊戲會受到 WindowManager 後端緩衝區大小介入措施的影響:

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

每次選擇遊戲模式後,請務必重新啟動遊戲。 需要重新啟動應用程式,才能使用縮減資源大小介入措施。

選擇不採用干預功能

您可以控管是否要為遊戲套用介入措施 。每項干預功能都有專屬的停用設定。

  1. 這個設定檔 XML 檔案與用來控管加入和退出遊戲的行為相同 模式也會用於介入設定:
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:allowGameDownscaling="false"
    android:allowGameFpsOverride="false"
/>
  1. 重新建構並再次提交遊戲,以選擇不採用干預功能。

在預設情況下,原始設備製造商設定的介入措施 系統會使用 (OEM) 設定,除非您明確禁止遊戲使用原始設備製造商 (OEM)。

資源

如要進一步瞭解如何評估及最佳化遊戲效能: