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
:
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:
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.