Best practice per ADPF

L'Android Dynamic Performance Framework (ADPF) aiuta gli sviluppatori a gestire in modo proattivo la temperatura e le prestazioni dei dispositivi consentendo ai giochi di interagire con il sistema, ricevere insight termici (come margine di miglioramento previsto) e comportamento dell'influenza. L'adattamento intelligente tramite ADPF impedisce una severa limitazione e consente un gameplay più fluido e più lungo. Questa guida fornisce strategie pratiche per usare efficacemente l'ADPF. Si concentra sulla scalabilità granulare personalizzata, collegata direttamente alle impostazioni di qualità specifiche del tuo gioco e basata sui dati termici ADPF. Implementando queste pratiche, puoi gestire in modo proattivo le termiche e creare giochi con prestazioni migliori a lungo, il che si traduce in un'esperienza più affidabile e piacevole per i giocatori.

Personalizza la scalabilità del rendimento

La scalabilità del plug-in ADPF predefinito potrebbe scegliere come target preimpostazioni generiche del motore, ad esempio Bassa, Media e Alta. Se il tuo gioco utilizza opzioni uniche di qualità grafica diverse da queste impostazioni predefinite, le ipotesi del plug-in non corrisponderanno ai tuoi contenuti. Devi personalizzare la logica ADPF per controllare direttamente le impostazioni di qualità specifiche del gioco per una gestione termica efficace, anziché utilizzare valori predefiniti non corrispondenti. Crea una logica di scalabilità granulare utilizzando i dati ADPF per risultati migliori:

  • Identifica gli aspetti chiave: profila il gioco per scoprire quali funzionalità grafiche o di gameplay (ombre, risoluzione, particelle, effetti, distanza di visualizzazione) influiscono maggiormente sulle prestazioni e sul calore.
  • Sviluppa passaggi granulari. Definisci piccoli aggiustamenti incrementali per le singole impostazioni nelle opzioni di qualità del gioco. Applica gradualmente queste modifiche in base al feedback termico dell'ADPF (ad esempio, utilizzando i dati sul margine termico) per ridurre delicatamente la pressione sul sistema prima che si verifichino gravi limitazioni.
Problema di rendering con ADPF nell'Unity MegaCity Metro.

Il video precedente mostra un problema di rendering con ADPF nella Unity MegaCity Metro. Poiché l'ADF regola la distanza di visualizzazione in base a un intervallo generale del motore grafico, anziché a un intervallo adatto ai contenuti specifici del gioco, la distanza di visualizzazione diventa eccessivamente bassa quando il dispositivo si riscalda, il che causa un problema nel caso in cui gli edifici non siano più visibili.

Isola le impostazioni della grafica

Evita modifiche drastiche alle preimpostazioni. La regolazione indipendente delle singole impostazioni della grafica offre un controllo più preciso e un'esperienza più fluida in risposta alle condizioni termiche. Ecco alcuni suggerimenti per la regolazione delle impostazioni:

  • Priorità all'impatto: concentra le attività di scalabilità sulle impostazioni all'interno delle opzioni di qualità che presentano l'impatto termico o sulle prestazioni più significativo identificato durante la profilazione.
  • Disaccoppia impostazioni: modifica impostazioni come ombre, risoluzione e particelle in modo indipendente e in sequenza in base alle esigenze.
  • Transizioni fluide: laddove possibile, esegui la transizione graduale delle impostazioni visive su alcuni frame per essere meno fastidiose.

Scopri in che modo Netmarble ha utilizzato l'ADPF per ottimizzare "Il Trono di Spade: Kingsroad". Ha implementato la scalabilità dinamica della risoluzione e le regolazioni adattive della frequenza fotogrammi.

Fornisci il controllo utente

Alcuni giocatori preferiscono una grafica coerente rispetto alle regolazioni dinamiche. Offri un'opzione per disabilitare la scalabilità basata su ADPF:

  • Implementa un'opzione: aggiungi un'impostazione chiaramente etichettata (ad esempio, "Attiva l'aggiustamento del rendimento dinamico") nel menu delle immagini.
  • Spiega la scelta: descrivi brevemente che questa funzionalità consente gli aggiustamenti automatici della qualità per prestazioni e gestione termica più fluide.
  • Definisci il comportamento: se abilitata (opzione predefinita consigliata), viene eseguita la logica di scalabilità ADPF personalizzata. Se disattivato, il gioco utilizza solo le impostazioni selezionate manualmente dall'utente e ignora i dati termici per il ridimensionamento.

Esegui test su più dispositivi

L'hardware Android varia notevolmente in termini di capacità termica e prestazioni. Esegui test dettagliati su diversi tipi di dispositivi:

  • Definisci i livelli dei dispositivi: esegui test su dispositivi rappresentativi di fascia alta, media e di fascia bassa di vari produttori e fornitori di SoC.
  • Testa la risposta termica: osserva in che modo i diversi dispositivi gestiscono il carico e l'efficacia della logica ADPF (e dell'opzione di attivazione/disattivazione dell'utente) su ogni livello.
  • Convalida gli obiettivi di rendimento: assicurati che il gioco soddisfi gli obiettivi di prestazioni su ogni livello con ADPF attivo e che si comporti in modo prevedibile quando disattivato.
  • Raccogli feedback: utilizza i programmi beta per raccogliere dati sulle prestazioni e termiche da diversi dispositivi reali.

Monitora le prestazioni e ottimizza

L'implementazione dell'ADPF richiede un monitoraggio e un perfezionamento continui per bilanciare prestazioni costanti, limiti termici e qualità visiva:

  • Stabilisci basi e target: definisci le prestazioni accettabili (f/s target, durate frame) e misura il comportamento senza prima la logica ADPF.
  • Utilizza gli strumenti di profilazione: utilizza regolarmente Android Studio Profiler, gli strumenti dei fornitori GPU e gli overlay in-game per monitorare FPS, durate frame e dati termici ADPF durante il gameplay.
  • Sperimenta e ottimizza: prova diverse strategie di risposta all'ADPF. Regola la velocità e l'aggressività delle impostazioni della scala in base all'input termico per trovare il giusto equilibrio per il tuo gioco.
  • Test di sessioni lunghe: assicurati che i test includano un tempo di riproduzione esteso (almeno 15 minuti) per osservare le prestazioni di carico prolungato e la stabilizzazione termica con ADPF attivo.