提升遊戲效能

從 Android 14 開始,Android 動態效能架構 (ADPF) 中新增了名為 GAME 的電源模式,可讓使用者在玩遊戲時自訂手機效能。GAME 會向 Power HAL 指出遊戲應用程式位於前景。這項指標可讓 Power HAL 在遊戲進行時採用電源管理策略,確保使用者享有穩定且更優異的效能。

為改善遊戲載入時間,Android 13 在 ADPF 中導入名為 GAME_LOADING 的全新電源模式。GAME_LOADING 表示遊戲應用程式是否處於載入狀態,以便 Power HAL 提供載入加速功能。這項指標可讓 Power HAL 提供效能提升措施,加快遊戲載入速度。

本頁面說明遊戲應用程式如何將遊戲狀態傳遞至 Power HAL,以及如何設定 Power HAL,以便在裝置中善用這項功能,並測試 Power HAL 實作項目。

偵測電源模式並發送通知

本節說明 Power Manager 如何處理 GAMEGAME_LOADING 模式。

遊戲電源模式

Android 14 的新電源模式 GAME 會向電源管理服務指出使用者正在玩遊戲。當 Power HAL 收到模式通知時,可以調整電源來提升效能、降低溫度及延長電池續航力,同時執行遊戲。GAME

下圖說明資訊流向 Power HAL 的方式,以指出 GAME 電源模式:

game-mode

圖 1. 資訊流程,表示正在玩遊戲。

系統一律會為具有 appCategory 的應用程式設定 GAME 電源模式,並將 GAME 放在 AndroidManifest.xml 中。

GAME_LOADING 電源模式

載入加速模式會偵測遊戲應用程式何時處於載入狀態,並通知 Power HAL。Android 13 在開發人員專用 API 中導入名為 isLoading 的新遊戲狀態。這個遊戲狀態會使用 Power Manager Service 中的新 GAME_LOADING 電源模式,將頂層遊戲狀態通知 Power HAL。Power HAL 收到遊戲載入狀態通知後,即可調整平台的效能設定和 CPU 時脈速率,進而縮短載入時間。

如要指出遊戲正在載入,遊戲應用程式會使用遊戲資訊主頁,在遊戲管理工具中設定 isLoading 狀態。Game Manager 會將這個狀態傳遞至 Game Manager Service,後者會使用 setPowerMode 搭配新的 GAME_LOADING 電源模式,叫用 Power Manager Service。GAME_LOADING電源模式 會向電源 HAL 指出遊戲處於載入狀態,以便電源 HAL 提供載入加速。

下圖說明資訊從應用程式流向 Power HAL 的流程,以指出載入狀態:

loading-boost

圖 2. 資訊流程,指出遊戲處於載入狀態。

使用者可以在遊戲資訊主頁的「效能設定」中,開啟或關閉載入加速功能。「效能設定」預設為關閉。

使用 GAME 和 GAME_LOADING 自訂 Power HAL

如要使用 GAMEGAME_LOADING 模式,原始設備製造商必須自訂 Power HAL 的實作方式。由於電源管理和效能提升功能與硬體相關,因此在 Google Pixel 裝置的參考實作版本發布前,不會提供 GAMEGAME_LOADING 模式的參考實作版本。

如要提升 GAMEGAME_LOADING 模式的效能,原始設備製造商可以選擇實作下列措施的組合:

  • 穩定影格速率
  • 提高 CPU 時脈速度
  • 暫時減少溫度節流
  • 為前景遊戲應用程式指派較高的 CPU 優先順序
  • 減少為一般非遊戲應用程式調整的 CPU 提升
  • 最佳化與熱相關的電力分配策略

測試 GAME 模式實作

如要測試 GAME 模式的實作,請在 GameManagerServiceTests.java 中使用以 testGamePowerMode_ 為前置字元的測試。

測試 GAME_LOADING 實作

如要測試 GAME_LOADING 模式的導入情況,請使用 android.gamemanager.cts.GameManagerTest#testSetGameContext。這項測試會驗證 GameManager::setGameContext() 是否透過 isLoading 內容,在效能模式下叫用 Power HAL 的遊戲載入模式。