遊戲性能提升

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

電源模式偵測和通知

本節介紹電源管理器如何處理GAMEGAME_LOADING模式。

GAME電源模式

Android 14 中的新電源模式GAMEPower Manager Service指示使用者正在玩遊戲。一旦 Power HAL 收到GAME模式的通知,它就可以在玩遊戲時調整功率以增強效能、降低溫度並延長電池壽命。

下圖解釋了到 Power HAL 指示GAME電源模式的資訊流:

game-mode

圖 1.指示遊戲正在進行的資訊流。

GAME電源模式始終為AndroidManifest.xmlappCategoryGAME的應用程式設定。

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 以指示載入狀態的資訊流:

loading-boost

圖 2.指示遊戲處於載入狀態的資訊流。

遊戲儀表板允許使用者透過效能設定開啟或關閉載入增強功能。效能設定始終預設為關閉。

使用GAMEGAME_LOADING自訂 Power HAL

若要利用GAMEGAME_LOADING模式,OEM 必須自訂其Power HAL的實作。由於電源管理和效能提升是特定於硬體的,因此在發布 Google Pixel 裝置的參考實作之前,不會提供GAMEGAME_LOADING模式的參考實作。

為了增強GAMEGAME_LOADING模式下的效能,OEM 可以選擇實施下列措施的組合:

  • 穩定幀率
  • 提高CPU時脈速度
  • 暫時降低溫度節流
  • 為前台遊戲應用程式分配更高的CPU優先級
  • 減少針對常規非遊戲應用程式調整的 CPU 提升
  • 優化熱相關配電策略

測試GAME模式實現

若要測試GAME模式的實現,請使用GameManagerServiceTests.java中以testGamePowerMode_為前綴的測試。

測試 GAME_LOADING 實現

若要測試GAME_LOADING模式的實現,請使用android.gamemanager.cts.GameManagerTest#testSetGameContext 。此測試驗證帶有isLoading上下文的GameManager::setGameContext()是否在效能模式下呼叫 Power HAL 上的遊戲載入模式。