從 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 實作。
電源模式偵測和通知
本節說明電源管理工具如何處理 GAME
和 GAME_LOADING
模式。
GAME 電源模式
Android 14 中的新電源模式 GAME
會向 Power Manager Service 指出使用者正在玩遊戲。當 Power HAL 收到 GAME
模式的通知時,它可以在遊戲過程中調整電源,以提升效能、降低溫度並延長電池續航力。
下圖說明傳送至 Power HAL 的資訊流程,以指出 GAME
電源模式:
圖 1. 資訊流程,用來表示正在玩遊戲。
如果應用程式在 AndroidManifest.xml
中具有 appCategory
的 GAME
,系統一律會為該應用程式設定 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
如要充分利用 GAME
和 GAME_LOADING
模式,原始設備製造商 (OEM) 必須自訂 Power HAL 實作方式。電源管理和效能提升功能因硬體而異,因此在 Google Pixel 裝置的參考實作發布前,系統不會提供 GAME
或 GAME_LOADING
模式的參考實作。
為提升 GAME
和 GAME_LOADING
模式的效能,原始設備製造商可以選擇同時實作下列措施:
- 穩定影格速率
- 提高 CPU 時脈速度
- 暫時降低溫度節流
- 為前景遊戲應用程式指派較高的 CPU 優先順序
- 減少為一般非遊戲應用程式調整的 CPU 提昇功能
- 最佳化熱能相關的電力分配策略
測試 GAME 模式實作
如要測試 GAME
模式的實作結果,請在 GameManagerServiceTests.java
中使用前置字串為 testGamePowerMode_
的測試。
測試 GAME_LOADING 實作
如要測試 GAME_LOADING
模式的實作方式,請使用 android.gamemanager.cts.GameManagerTest#testSetGameContext
。這項測試會驗證是否在效能模式中,具有 isLoading
情境的 GameManager::setGameContext()
會在 Power HAL 上叫用遊戲載入模式。