Zwiększenie wydajności w czasie ładowania gry

Aby poprawić czas ładowania gry, Android 13 wprowadza nowy tryb zasilania o nazwie GAME_LOADING w Android Dynamic Performance Framework (ADPF). GAME_LOADING wskazuje warstwie Power HAL, czy aplikacja gry jest w stanie ładowania, aby warstwa Power HAL mogła przyspieszyć ładowanie. To wskazanie umożliwia Power HAL zapewnienie środków zwiększających wydajność, które mogą przyspieszyć czas ładowania gry.

Na tej stronie opisano, w jaki sposób aplikacja do gry przekazuje stan gry do Power HAL, wyjaśnia, jak skonfigurować Power HAL, aby korzystać z niej na swoich urządzeniach, a także jak przetestować implementację Power HAL.

Wykrywanie i powiadamianie o stanie ładowania

Tryb przyspieszenia ładowania działa poprzez wykrywanie, kiedy aplikacja do gry jest w stanie ładowania i powiadamianie warstwy Power HAL. Android 13 wprowadza nowy stan gry o nazwie isLoading w interfejsie API przeznaczonym dla programistów. Ten stan gry używa nowego trybu zasilania GAME_LOADING w usłudze Power Manager do powiadamiania warstwy Power HAL o stanie gry najwyższego poziomu. Gdy Power HAL zostanie powiadomiony o stanie ładowania gry, może dostosować ustawienia wydajności platformy i częstotliwość taktowania procesora, co skutkuje skróceniem czasu ładowania. Producenci OEM mogą zaimplementować i dostosować przyspieszenie ładowania w Power HAL. Więcej informacji można znaleźć w sekcji Dostosowywanie implementacji Power HAL .

Aby wskazać, że gra się ładuje, aplikacja gry używa Pulpitu gry do ustawienia stanu isLoading w Menedżerze gier. Game Manager przekazuje ten stan do Game Manager Service, która używa setPowerMode z nowym trybem zasilania GAME_LOADING do wywołania usługi Power Manager. Tryb zasilania GAME_LOADING wskazuje warstwie Power HAL , że gra jest w stanie ładowania, dzięki czemu warstwa Power HAL może przyspieszyć ładowanie.

Poniższy rysunek przedstawia przepływ informacji z aplikacji do warstwy Power HAL w celu wskazania stanu ładowania:

loading-boost

Rysunek 1. Przepływ informacji wskazujący, że gra jest w stanie ładowania.

Dostosuj Power HAL, aby skrócić czas ładowania gry

Aby skorzystać z trybu GAME_LOADING , producenci OEM muszą dostosować swoją implementację Power HAL w trybie ładowania gry. Środki, takie jak zwiększenie częstotliwości taktowania procesora, tymczasowe ograniczenie ograniczania temperatury i zwiększenie priorytetu procesora dla zadania pierwszoplanowego, pomagają zwiększyć wydajność.

Ponieważ zwiększanie wydajności zależy od sprzętu, nie ma implementacji referencyjnych dla trybu doładowania, dopóki nie zostanie wydana implementacja referencyjna dla urządzenia Google Pixel.

Pulpit nawigacyjny gry pozwala użytkownikom włączać i wyłączać funkcję przyspieszenia ładowania za pomocą ustawień wydajności. Ustawienie wydajności jest zawsze domyślnie wyłączone.

Przetestuj i zweryfikuj implementację ładowania gry

Aby przetestować implementację, użyj android.gamemanager.cts.GameManagerTest#testSetGameContext . Ten test sprawdza, czy GameManager::setGameContext() z kontekstem isLoading wywołuje tryb ładowania gry na Power HAL w trybie wydajności.

Ponieważ jednak implementacja tej funkcji jest specyficzna dla sprzętu, producenci OEM muszą przeprowadzić własne testy ręczne, aby sprawdzić, czy czasy ładowania gry ulegają skróceniu podczas korzystania z tej funkcji.