Interventi in modalità di gioco

Gli interventi per la modalità di gioco sono ottimizzazioni specifiche per i giochi impostate da produttori di apparecchiature originali (OEM) per migliorare le prestazioni dei giochi che non vengono più aggiornati dagli sviluppatori. Ecco alcuni esempi:

  • Utilizzare il ridimensionamento del backbuffer di WindowManager.
  • Utilizzo di ANGLE anziché driver GLES nativi.

Puoi chiedere al tuo gioco di supportare e gestire l'API per la modalità di gioco per fare in modo che sostituisca gli interventi della modalità di gioco forniti dall'OEM.

L'API e gli interventi per la modalità di gioco sono disponibili su:

Ogni gioco può:

  • Implementa il comportamento dell'API Game Mode.
  • Proporre agli OEM impostazioni di intervento per la modalità di gioco oppure
  • Disattiva esplicitamente gli interventi della modalità di gioco.

Premessa

Questa sezione descrive cosa fanno gli interventi della modalità di gioco e come ottimizzare il tuo gioco per ogni modalità.

Ridimensionamento del backbuffer di WindowManager

L'intervento di ridimensionamento del backbuffer WindowManager può ridurre il carico della GPU di un dispositivo. Inoltre, può ridurre il consumo della batteria quando un gioco viene pacing a una frequenza frame target.

L'abilitazione del ridimensionamento può comportare una riduzione fino al 30% della GPU e al 10% dell'utilizzo complessivo di energia del sistema. I risultati possono variare in base al dispositivo utilizzato, alle condizioni ambientali e ad altri fattori, come l'elaborazione simultanea.

È probabile che un gioco senza pacing associato alla GPU subisca frequenze fotogrammi più elevate durante i caricamenti della GPU ridotti.

Consigliamo vivamente che tutti i giochi abbiano un velocità elevata, poiché una frequenza fotogrammi non uniforme influisce in modo significativo sulla percezione delle prestazioni da parte degli utenti.

Limitazione f/s

La limitazione di Android FPS è un intervento della modalità di gioco che consente ai giochi di funzionare a una frequenza fotogrammi più stabile per ridurre il consumo della batteria. L'intervento è disponibile su Android 13 o versioni successive. Per ulteriori informazioni, consulta la Panoramica della limitazione dei FPS.

Valutare gli interventi della modalità di gioco

In questa sezione viene utilizzato il comando adb.

Configura le modalità

Devi disattivare le Modalità di gioco nel file di configurazione della modalità di gioco dell'app prima di testare gli interventi della Modalità di gioco. In caso contrario, la piattaforma le aggirerà e rispetterà solo le ottimizzazioni in-game.

<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsBatteryGameMode="false"
    android:supportsPerformanceGameMode="false"
/>

(Facoltativo) Esegui il backup della configurazione del dispositivo esistente

Per Pixel o altri dispositivi, potrebbe essere presente una configurazione preesistente dell'intervento di gioco nella configurazione del dispositivo. Puoi eseguire una query sul file di configurazione utilizzando il comando:

adb shell device_config get game_overlay <PACKAGE_NAME>

Se la query restituisce null, ignora la configurazione preesistente. In caso contrario, salvalo e reimpostalo dopo la valutazione.

Valuta gli interventi

Per valutare autonomamente l'intervento di ridimensionamento del backbuffer di WindowManager, utilizza il seguente comando per impostare diversi valori di ridimensionamento del buffer di WindowManager nelle modalità di gioco.

adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5

Nell'esempio precedente, mode=2 è "Prestazioni" e mode=3 è "Risparmio energetico". Il valore downscaleFactor è specificato come percentuale che si applica all'impostazione di ridimensionamento (ad esempio, 0,7 corrisponde a 70% e 0,8 corrisponde a 80%). Un ridimensionamento del 90% (0,9) è quasi trascurabile, mentre il 50% (0,5) è significativo.

Avviso: i processi secondari potrebbero non essere ridimensionati correttamente in Android 12. In particolare, assicurati che toast e popup vengano visualizzati correttamente. Ti consigliamo di limitare l'impostazione di ridimensionamento ad almeno il 70%.

Dopo aver configurato le nuove impostazioni di ridimensionamento, passa da una modalità di gioco all'altra per vedere in che modo il gioco è interessato dall'intervento di ridimensionamento del backbuffer di WindowManager:

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

Assicurati di riavviare il gioco dopo ogni selezione di modalità. L'intervento di downgrade richiede il riavvio dell'app.

Disattivare gli interventi

Puoi controllare se un intervento viene applicato al tuo gioco disattivando la funzionalità. Ogni intervento ha la propria impostazione di disattivazione.

  1. Lo stesso file XML di configurazione usato per controllare l'attivazione e la disattivazione delle modalità di gioco viene utilizzato anche per le impostazioni dell'intervento:
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:allowGameDownscaling="false"
    android:allowGameFpsOverride="false"
/>
  1. Ricrea e invia di nuovo il gioco per disattivare la funzionalità.

Per impostazione predefinita, verranno utilizzati gli interventi impostati dai produttori di apparecchiature originali (OEM) a meno che tu non decida esplicitamente di non utilizzarli per il gioco.

Risorse

Per scoprire di più sulla misurazione e sull'ottimizzazione delle prestazioni dei giochi: