Aumento delle prestazioni per i giochi

A partire da Android 14, una nuova modalità di alimentazione denominata GAME nell'Android Dynamic Performance Framework (ADPF) consente la personalizzazione delle prestazioni del telefono durante l'utilizzo del gioco. GAME indica al Power HAL che un'applicazione di gioco è in primo piano. Questa indicazione consente al Power HAL di adottare strategie di gestione energetica durante l'esecuzione di un gioco, in modo che l'utente possa usufruire di prestazioni stabili e migliorate.

Per migliorare il tempo di caricamento di un gioco, Android 13 introduce una nuova modalità di alimentazione denominata GAME_LOADING in ADPF. GAME_LOADING indica se un'app di gioco è in stato di caricamento in modo che Power HAL possa fornire un potenziamento del caricamento. Questa indicazione consente al Power HAL di fornire misure di miglioramento delle prestazioni che possono accelerare il tempo di caricamento del gioco.

Questa pagina descrive come l'app del gioco passa lo stato del gioco a Power HAL, spiega come configurare Power HAL per trarne vantaggio sui tuoi dispositivi e come testare l'implementazione di Power HAL.

Rilevamento e notifica della modalità di alimentazione

Questa sezione descrive come il Power Manager gestisce le modalità GAME e GAME_LOADING .

Modalità di potenza GAME

La nuova modalità di risparmio energetico GAME in Android 14 indica al servizio Power Manager che l'utente sta giocando. Una volta che il Power HAL viene informato della modalità GAME , può regolare la potenza per migliorare le prestazioni, abbassare la temperatura e prolungare la durata della batteria, durante il gioco.

La figura seguente spiega il flusso di informazioni al Power HAL per indicare la modalità di potenza GAME :

game-mode

Figura 1. Flusso di informazioni per indicare che si sta giocando una partita.

La modalità di alimentazione GAME è sempre impostata per le applicazioni con una appCategory GAME in AndroidManifest.xml .

GAME_LOADING modalità di alimentazione

La modalità di potenziamento del caricamento funziona rilevando quando un'app di gioco è in stato di caricamento e inviando una notifica a Power HAL. Android 13 introduce un nuovo stato del gioco chiamato isLoading nell'API rivolta agli sviluppatori . Questo stato del gioco utilizza la nuova modalità di alimentazione GAME_LOADING nel servizio Power Manager per notificare al Power HAL lo stato del gioco di livello superiore. Una volta che Power HAL viene informato dello stato di caricamento del gioco, può regolare le impostazioni delle prestazioni della piattaforma e la frequenza di clock della CPU, con conseguente miglioramento dei tempi di caricamento.

Per indicare che un gioco è in fase di caricamento, l'app del gioco utilizza la Dashboard di gioco per impostare uno stato isLoading in Game Manager. Il Game Manager passa questo stato al Servizio Game Manager, che utilizza setPowerMode con la nuova modalità di alimentazione GAME_LOADING per richiamare il Servizio Power Manager. La modalità di alimentazione GAME_LOADING indica al Power HAL che il gioco è in stato di caricamento in modo che il Power HAL possa fornire un potenziamento del caricamento.

La figura seguente spiega il flusso di informazioni dall'app al Power HAL per indicare lo stato di caricamento:

loading-boost

Figura 2. Flusso di informazioni per indicare che un gioco è in stato di caricamento.

La dashboard del gioco consente agli utenti di attivare o disattivare la funzione di potenziamento del caricamento con l'impostazione delle prestazioni. L'impostazione delle prestazioni è sempre disattivata per impostazione predefinita.

Personalizza Power HAL utilizzando GAME e GAME_LOADING

Per sfruttare le modalità GAME e GAME_LOADING , gli OEM devono personalizzare la propria implementazione di Power HAL . Poiché la gestione dell'alimentazione e l'incremento delle prestazioni sono specifici dell'hardware, non verrà resa disponibile alcuna implementazione di riferimento per le modalità GAME o GAME_LOADING finché non verrà rilasciata un'implementazione di riferimento per il dispositivo Google Pixel.

Per migliorare le prestazioni in modalità GAME e GAME_LOADING , gli OEM possono scegliere di implementare una combinazione delle seguenti misure:

  • Stabilizza il frame rate
  • Aumenta la velocità di clock della CPU
  • Ridurre temporaneamente la limitazione della temperatura
  • Assegna una priorità CPU più alta all'applicazione di gioco in primo piano
  • Riduci il potenziamento della CPU ottimizzato per applicazioni normali, non di gioco
  • Ottimizzare la strategia di distribuzione dell'energia termica

Testare l'implementazione della modalità GAME

Per testare l'implementazione della modalità GAME , utilizzare i test con il prefisso testGamePowerMode_ in GameManagerServiceTests.java .

Testa l'implementazione di GAME_LOADING

Per testare l'implementazione della modalità GAME_LOADING , utilizzare android.gamemanager.cts.GameManagerTest#testSetGameContext . Questo test verifica se GameManager::setGameContext() con un contesto isLoading richiama la modalità di caricamento del gioco su Power HAL in modalità prestazioni.