Miglioramento delle prestazioni per i giochi

A partire da Android 14, una nuova modalità di risparmio energetico denominata GAME nel Dynamic Performance Framework (ADPF) di Android consente la personalizzazione le prestazioni dello smartphone durante l'uso del gioco. GAME indica all'HAL di alimentazione che l'app di gioco è in primo piano. Questa indicazione consente all'HAL di adottare strategie di gestione dell'alimentazione durante il gioco, in modo che l'utente abbiano prestazioni stabili e migliorate.

Per migliorare il tempo di caricamento di un gioco, Android 13 introduce una nuova modalità di alimentazione denominata GAME_LOADING nell'ADF. GAME_LOADING indica se un'app di gioco è in stato di caricamento in modo che Power HAL può aumentare il carico. Questa indicazione consente all'HAL di alimentazione per migliorare le prestazioni e accelerare il caricamento del gioco nel tempo.

In questa pagina viene descritta la modalità di trasmissione dell'app di gioco lo stato del gioco a Power HAL, spiega come configurare Power HAL per sfruttalo nei tuoi dispositivi e scopri come testare il tuo Power HAL implementazione.

Rilevamento e notifica della modalità di alimentazione

Questa sezione descrive in che modo Power Manager gestisce le modalità GAME e GAME_LOADING.

Modalità di alimentazione GAME

La nuova modalità di alimentazione GAME in Android 14 indica il servizio Power Manager che l'utente sta giocando. Quando l'HAL riceve una notifica relativa alla presenza di GAME automatica, può regolare l'alimentazione per migliorare le prestazioni, abbassare la temperatura ed estendere della batteria mentre il gioco è in corso.

La figura seguente spiega il flusso di informazioni a Power HAL per indica la modalità di alimentazione di GAME:

modalità di gioco

Figura 1. Flusso di informazioni per indicare che è in corso lo svolgimento di un gioco.

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

Modalità di alimentazione GAME_LOADING

La modalità di potenziamento del caricamento funziona rilevando quando è in corso il caricamento di un'app di gioco e inviare una notifica all'HAL di alimentazione. Android 13 introduce un nuovo stato del gioco chiamato isLoading nell'API rivolta agli sviluppatori. Questo stato del gioco utilizza il nuovo GAME_LOADING risparmio energetico nel servizio Power Manager per notificare all'HAL l'alimentazione livello del gioco. Una volta notificato al Power HAL lo stato di caricamento del gioco, regolare le impostazioni delle prestazioni della piattaforma e la frequenza di clock della CPU, ottenendo in tempi di caricamento ridotti.

Per indicare che un gioco si sta caricando, l'app di gioco utilizza il Pannello di gioco per impostare un isLoading in Game Manager. Il Gestore di Gioco passa questo stato al Gioco Manager Service, che utilizza setPowerMode con il nuovo GAME_LOADING risparmio energetico per richiamare il servizio Power Manager. Modalità di alimentazione GAME_LOADING indica al Power HAL che il gioco è in un di caricamento, in modo che Power HAL possa aumentare il carico.

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

caricamento-boost

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

Il Pannello di gioco consente agli utenti di attivare o disattivare la funzione di caricamento avanzato con l'Impostazione del rendimento. Per impostazione predefinita, l'Impostazione del rendimento è sempre disattivata.

Personalizza Power HAL utilizzando GAME e GAME_LOADING

Per usufruire delle modalità GAME e GAME_LOADING, gli OEM devono personalizzare l'implementazione di Power HAL. Poiché la gestione dell'alimentazione e il miglioramento delle prestazioni sono specifici dell'hardware, nessun riferimento le implementazioni per le modalità GAME o GAME_LOADING sono rese disponibili fino viene 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 frequenza fotogrammi
  • Aumenta la velocità di clock della CPU
  • Riduci temporaneamente la limitazione della temperatura
  • Assegna una priorità della CPU più alta all'app di gioco in primo piano
  • Riduci il boost della CPU ottimizzato per le normali app non di gioco
  • Ottimizzare la strategia di distribuzione dell'energia termica

Testare l'implementazione della modalità GAME

Per testare l'implementazione della modalità GAME, utilizza i test con prefisso testGamePowerMode_ a GameManagerServiceTests.java.

Testa l'implementazione di GAME_LOADING

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