從 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 實作。
電源模式偵測和通知
本節介紹電源管理器如何處理GAME
和GAME_LOADING
模式。
遊戲電源模式
Android 14 中的新電源模式GAME
向Power Manager Service指示使用者正在玩遊戲。當 Power HAL 收到GAME
模式通知時,它可以在玩遊戲時調整功率以增強效能、降低溫度並延長電池壽命。
下圖解釋了到 Power HAL 指示GAME
電源模式的資訊流:
圖 1.指示遊戲正在進行的資訊流。
GAME
電源模式始終為AndroidManifest.xml
中appCategory
為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 可以提供載入提升。
下圖解釋了從應用程式到 Power HAL 以指示載入狀態的資訊流:
圖 2.指示遊戲處於載入狀態的資訊流。
遊戲儀表板允許使用者透過效能設定開啟或關閉載入增強功能。效能設定始終預設為關閉。
使用 GAME 和 GAME_LOADING 自訂 Power HAL
若要利用GAME
和GAME_LOADING
模式,OEM 必須自訂其Power HAL的實作。由於電源管理和效能提升是特定於硬體的,因此在發布 Google Pixel 裝置的參考實作之前,不會提供GAME
或GAME_LOADING
模式的參考實作。
為了增強GAME
和GAME_LOADING
模式下的效能,OEM 可以選擇實施下列措施的組合:
- 穩定幀率
- 提高CPU時脈速度
- 暫時降低溫度節流
- 為前台遊戲應用程式分配更高的CPU優先級
- 減少針對常規非遊戲應用程式調整的 CPU 提升
- 優化熱力相關配電策略
測試GAME模式實現
若要測試GAME
模式的實現,請使用GameManagerServiceTests.java
中以testGamePowerMode_
為前綴的測試。
測試 GAME_LOADING 實現
若要測試GAME_LOADING
模式的實現,請使用android.gamemanager.cts.GameManagerTest#testSetGameContext
。此測試驗證具有isLoading
上下文GameManager::setGameContext()
是否在效能模式下呼叫 Power HAL 上的遊戲載入模式。