Plug-in ADPF Unreal Engine

Il plug-in Android Dynamic Performance Framework) (ADPF) per Unreal Engine offre prestazioni stabili e previene la limitazione termica.

Puoi scaricare il plug-in da GitHub.

Come utilizzare il plug-in ADPF Unreal Engine

  1. Scarica il plug-in

  2. Copia il plug-in nella cartella del plug-in del progetto

  3. Attiva il plug-in ADPF Unreal Engine nell'editor Unreal

  4. Riavvia l'editor Unreal

  5. Costruisci e cucina il gioco

Abilita il plug-in ADPF Unreal Engine.
Figura 1. Abilita il plug-in ADPF Unreal Engine.

Configurazione della console plug-in

Il plug-in presenta le seguenti variabili della console Unreal Engine che ti consentono di modificare le opzioni del plug-in in fase di runtime:

CVar

Valori validi

Valore predefinito

Descrizione

r.AndroidPerformanceEnabled

0, 1

1

Attiva/disattiva il plug-in Android Performance. Il plug-in utilizza l'API Android adattibilità per regolare le impostazioni di gioco in base allo stato termico del dispositivo e regola la CPU a seconda delle esigenze.

0: off (disattivata)

1: on (attivato)

r.AndroidPerformanceHintEnabled

0, 1

1

Attiva/disattiva Gestione suggerimenti sul rendimento. Attiva questa impostazione per ottimizzare il boosting dei thread sui dispositivi Android supportati.

0: off (disattivata)

1: on (attivato)

r.AndroidPerformanceChangeQualities

0, 1, 2

1

Scegli in che modo lo stato termico regola il livello di fedeltà del gioco.

0: il sistema non modifica nessuna impostazione

1: le impostazioni vengono regolate in base al margine termico

2: le impostazioni vengono regolate in base al listener termico

Come funziona il plug-in ADPF Unreal Engine

Il plug-in chiama la funzione Monitor() ogni frame e controlla il tempo trascorso dall'ultimo controllo termico. Se è trascorso almeno un secondo, il plug-in legge la temperatura attuale e determina se è necessaria una modifica della qualità grafica (ad esempio, se il gioco è limitato termicamente o se è vicino alla soglia di limitazione termica) e regola le impostazioni di conseguenza.

Il plug-in segnala anche la durata target ed effettiva dei frame all'API della sessione del suggerimento sulle prestazioni e aumenta la frequenza della CPU o, se necessario, regola la pianificazione della CPU.

Diagramma di flusso del plug-in ADPF Unreal Engine.
Figura 2. Diagramma di flusso del plug-in ADPF Unreal Engine.

Come modificare la qualità grafica in base allo stato termico

Il plug-in regola la qualità grafica utilizzando la scalabilità di Unreal Engine in base al feedback delle API termiche. La scalabilità di Unreal Engine ha quattro livelli da 3 (qualità massima) a 0 (qualità minima). Ogni livello è mappato a scala di risoluzione, distanza di visualizzazione, anti-alias, post-elaborazione e altre funzionalità.

Scalabilità di Unreal Engine.
Figura 3. Scalabilità di Unreal Engine.

L'ADPF ha due modi per determinare lo stato termico del dispositivo: spazio di controllo termico e stato termico. Il margine termico fornisce un valore più preciso e, di conseguenza, il plug-in utilizza un margine termico per impostazione predefinita e disattiva l'API Thermal Status.

La scalabilità di Unreal Engine cambia in base ai seguenti valori termici:

Margine termico

  • < 0,75: Livello di qualità 3
  • da 0,75 a 0,85: livello qualitativo 2
  • Da 0,85 a 0,95: Livello qualità 1
  • > 0,95: Livello di qualità 0

Stato termico

  • Nessuno: livello di qualità 3
  • Leggera: livello di qualità 2
  • Moderato:livello di qualità 1.
  • Grave e critica: livello di qualità 0

Per maggiori informazioni, consulta la sezione API Thermal.

API di suggerimenti sulle prestazioni

Il plug-in presenta due tipi di sessioni di suggerimenti sulle prestazioni: uno per il thread del gioco e l'altro per i thread di rendering (thread di rendering e RHI). Questi due tipi di suggerimenti relativi al rendimento vengono utilizzati per segnalare la durata effettiva e target di ogni frame. Il sistema regola la frequenza della CPU ed effettua scelte di programmazione migliori quando la durata effettiva è diversa dalla durata target.

Per maggiori dettagli, consulta API Performance Hint.

Best practice

Il plug-in previene la limitazione termica e fornisce un FPS target sostenuto con la sua implementazione di base. Per ottenere risultati immediati, applica ADPF con i livelli di scalabilità predefiniti di Unreal Engine.

Tuttavia, poiché ogni gioco è diverso, perfeziona i livelli di scalabilità per ogni parametro, ad esempio scala di risoluzione, distanza di visualizzazione, anti-aliasing, post-elaborazione, ombre, texture ed effetti per consentire all'ADPF di offrire prestazioni dinamiche per il tuo gioco.

Di seguito sono riportati i tre passaggi fondamentali per ottenere i risultati migliori con il plug-in ADPF Unreal:

  • Stabilisci una base di riferimento: prima di utilizzare ADPF, proponi accuratamente le prestazioni del tuo gioco. Questi dati saranno un valido benchmark per il confronto dopo l'implementazione del plug-in.
    best practice di ADPF Unreal Engine.
    Figura 4. Stabilisci una base di riferimento.
  • Sfrutta la scalabilità irreale: sperimenta con la scalabilità irreale, anche se offre solo miglioramenti modesti del rendimento. Ciò consente di ottenere vantaggi in termini di rendimento senza sforzi.
    best practice di ADPF Unreal Engine.
    Figura 5. Sfrutta la scalabilità irreale.
  • Dai la priorità alle impostazioni delle immagini in-game: ottimizza i livelli di qualità della grafica in-game. Queste impostazioni sono personalizzate in base ai contenuti del tuo gioco, garantendo frequenze fotogrammi più fluide e una migliore gestione termica.
    best practice di ADPF Unreal Engine.
    Figura 6. Dai la priorità alle impostazioni grafiche in-game.