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
Scarica il plug-in
Copia il plug-in nella cartella del plug-in del progetto
Attiva il plug-in ADPF Unreal Engine nell'editor Unreal
Riavvia l'editor Unreal
Costruisci e cucina il gioco
![Abilita il plug-in ADPF Unreal Engine.](https://developer.android.com/static/images/games/engines/unreal/unreal-adpf.png?authuser=4&hl=it)
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.](https://developer.android.com/static/images/games/engines/unreal/ureal-adpf-flowchart.png?authuser=4&hl=it)
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.](https://developer.android.com/static/images/games/engines/unreal/unreal-adpf-scalability.png?authuser=4&hl=it)
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.
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.
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.
Figura 6. Dai la priorità alle impostazioni grafiche in-game.