遊戲加載時的性能提升

為了縮短遊戲的加載時間,Android 13 在 Android 動態性能框架 (ADPF) 中引入了一種名為GAME_LOADING的新電源模式。 GAME_LOADING向 Power HAL 指示遊戲應用程序是否處於加載狀態,以便 Power HAL 可以提供加載提升。此指示允許 Power HAL 提供性能提升措施,從而加快遊戲加載時間。

本頁介紹遊戲應用程序如何將游戲狀態傳遞到 Power HAL,解釋如何配置 Power HAL 以便在您的設備中利用它,以及如何測試 Power HAL 實現。

加載狀態檢測和通知

加載加速模式的工作原理是檢測遊戲應用程序何時處於加載狀態並通知 Power HAL。 Android 13 在面向開發者的 API 中引入了一個名為isLoading的新遊戲狀態。此遊戲狀態使用 Power Manager Service 中的新GAME_LOADING電源模式來通知 Power HAL 有關頂級遊戲狀態的信息。一旦 Power HAL 收到遊戲加載狀態的通知,它就可以調整平台的性能設置和 CPU 時鐘速率,從而縮短加載時間。 OEM 可以選擇在 Power HAL 中實施和自定義加載提升。有關更多信息,請參閱自定義 Power HAL 實現部分。

為了指示遊戲正在加載,遊戲應用程序使用遊戲儀表板在遊戲管理器中設置isLoading狀態。遊戲管理器將此狀態傳遞給遊戲管理器服務,遊戲管理器服務使用setPowerMode和新的GAME_LOADING電源模式來調用電源管理器服務。 GAME_LOADING電源模式向Power HAL指示遊戲處於加載狀態,以便 Power HAL 可以提供加載提升。

下圖解釋了從應用程序到 Power HAL 以指示加載狀態的信息流:

loading-boost

圖 1.指示遊戲處於加載狀態的信息流。

自定義 Power HAL 以縮短遊戲加載時間

為了利用GAME_LOADING模式,OEM 必須在遊戲加載模式下自定義其Power HAL的實現。提高 CPU 時鐘速度、暫時降低溫度限制以及提高 CPU 對前台任務的優先級等措施有助於提高性能。

由於性能提升是特定於硬件的,因此在發布 Google Pixel 設備的參考實現之前,沒有針對增強模式的參考實現。

遊戲儀表板允許用戶通過性能設置打開或關閉加載增強功能。性能設置始終默認為關閉。

測試並驗證遊戲加載實現

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

然而,由於此功能的實現是特定於硬件的,因此 OEM 必須執行自己的手動測試,以查看使用此功能時遊戲加載時間是否減少。