遊戲效能提升

從 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 HAL 實作。

電源模式偵測和通知

本節說明電源管理工具如何處理 GAMEGAME_LOADING 模式。

GAME 電源模式

Android 14 中的新電源模式 GAME 會向 Power Manager Service 指出使用者正在玩遊戲。當 Power HAL 收到 GAME 模式的通知時,它可以在遊戲過程中調整電源,以提升效能、降低溫度並延長電池續航力。

下圖說明傳送至 Power HAL 的資訊流程,以指出 GAME 電源模式:

game-mode

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

如果應用程式在 AndroidManifest.xml 中具有 appCategoryGAME,系統一律會為該應用程式設定 GAME 電源模式。

GAME_LOADING 電源模式

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

為表示遊戲正在載入,遊戲應用程式會使用遊戲資訊主頁,在遊戲管理工具中設定 isLoading 狀態。遊戲管理員會將此狀態傳遞至遊戲管理員服務,後者會使用 setPowerMode 搭配新的 GAME_LOADING 電源模式,叫用電源管理員服務。GAME_LOADING 電源模式會向 Power HAL 指出遊戲處於載入狀態,以便 Power HAL 提供載入加速功能。

下圖說明從應用程式傳送至電源 HAL 的資訊流,用於指出載入狀態:

載入加強

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

遊戲資訊主頁可讓使用者透過「效能設定」開啟或關閉載入加速功能。「成效設定」預設為關閉。

使用 GAME 和 GAME_LOADING 自訂電源 HAL

如要充分利用 GAMEGAME_LOADING 模式,原始設備製造商 (OEM) 必須自訂 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。這項測試會驗證是否在效能模式中,具有 isLoading 情境的 GameManager::setGameContext() 會在 Power HAL 上叫用遊戲載入模式。