Migliorare le prestazioni e la gestione termica è essenziale per sviluppare giochi di successo su Android. Tradizionalmente, gli sviluppatori dovevano gestire questi problemi diminuendo la fedeltà del gioco o ottimizzando ulteriormente il renderer. Questi cambiamenti tendono a essere specifici e spesso possono essere rigidi.
Diversi partecipanti nell'ecosistema Android offrono agli sviluppatori API per le prestazioni adattive. Per semplificare l'integrazione delle funzionalità per le prestazioni adattive e ridurre la frammentazione nell'ecosistema, Google e MediaTek stanno collaborando per integrare le nostre offerte: Android Dynamic Performance Framework (ADPF) e MediaTek Adaptive Gaming Technology (MAGT).
L'ADPF offre agli sviluppatori la possibilità di regolare il carico di lavoro del gioco in base alle situazioni termiche in tempo reale e fornire suggerimenti al sistema operativo per ottimizzare le prestazioni per il carico di lavoro attuale. Puoi utilizzare questi indicatori per regolare le impostazioni di fedeltà e prestazioni, come risoluzione, frequenza fotogrammi e persino strategia di caricamento delle risorse. In questo modo puoi bilanciare meglio prestazioni, temperatura e fedeltà, offrendo ai giocatori Android la migliore esperienza possibile. L'ecosistema Android sta sfruttando appieno questa tecnologia. Ares di Kakao Games è riuscito ad aumentare la stabilità degli FPS al 96% regolando il carico di lavoro in fase di runtime in risposta all'API termica.
MediaTek è un fornitore leader di SoC per Android. L'azienda produce una serie di chip, come il nuovo Dimensity 9300. MediaTek offre anche l'SDK MAGT, disponibile dal 2021. L'SDK fornisce funzionalità avanzate per l'ottimizzazione delle prestazioni sui SoC MediaTek, come informazioni granulari sulle prestazioni in tempo reale e suggerimenti per un aumento dei carichi di lavoro. Oltre a offrire MAGT agli sviluppatori, MediaTek ha iniziato a offrire funzionalità ADPF avanzate.
![](https://developer.android.google.cn/static/images/cards/distribute/stories/mediatek_google.jpg?authuser=9&hl=it)
Previeni la limitazione termica con ADPF e ottimizza le prestazioni
MediaTek consente al framework ADPF di accedere alle temperature attuali e target dei dispositivi per evitare gravi limitazioni. Utilizzando la funzione ADPF getThermalHeadroom()
, le applicazioni possono ottenere una stima del margine termico disponibile prima che il dispositivo raggiunga una limitazione grave. Utilizzando questa stima, le applicazioni
possono regolare dinamicamente i carichi di lavoro per evitare che il dispositivo attivi la
limitazione, migliorando così l'esperienza utente complessiva.
L'applicazione (usando come esempio la demo dell'attacco Boat di Unity) utilizza anche l'API Performance Hint Session per ottimizzare le sue prestazioni.
Fornisce la durata frame target e la durata frame corrente per ogni frame rispettivamente tramite le funzioni updateTargetWorkDuration()
e reportActualWorkDuration()
. La piattaforma MediaTek calcola il carico di lavoro tra
due chiamate reportActualWorkDuration()
e alloca un'adeguata capacità della CPU per garantire che il carico di lavoro possa essere
completato entro la durata target.
Di conseguenza, la piattaforma MediaTek fornisce costantemente frame al secondo (f/s) ottimali con un consumo energetico bilanciato, garantendo un'esperienza utente fluida.
Migliora le frequenze fotogrammi, il consumo energetico ridotto e le sessioni di gioco più lunghe
Nel complesso, la demo di Unity boat Attack ha migliorato la frequenza fotogrammi di 8,5 f/s, ridotto il consumo energetico del 12% e consentito sessioni di gioco più lunghe di almeno 25 minuti. La deviazione standard dell'FPS è diminuita del 25%. Un miglioramento così significativo ti consente di aumentare la fedeltà dei tuoi giochi e di eseguire sessioni di gioco per un periodo di tempo più lungo in modo termicamente sostenibile.
![](https://developer.android.google.cn/static/images/cards/distribute/stories/mediatek_table.png?authuser=9&hl=it)
![](https://developer.android.google.cn/static/images/cards/distribute/stories/mediatek_fps.png?authuser=9&hl=it)
Anche senza modificare le impostazioni di fedeltà, semplicemente abilitando la sessione dei suggerimenti sulle prestazioni, il carico di lavoro è stato in grado di ridurre il tempo medio dei thread di rendering di quasi il 10%.
Passaggi successivi per il rendimento adattivo sui SoC MediaTek
Nel corso dei prossimi anni verrà eseguito l'upgrade di ADPF con nuove funzionalità e per aggiungere nuove funzionalità di MAGT indipendenti dal dispositivo. Per gli sviluppatori che vogliono ottenere ancora di più dai loro dispositivi MediaTek, l'SDK MAGT contiene funzionalità avanzate che hanno come target in modo univoco le architetture del chipset MediaTek e presto offrirà anche funzionalità ADPF principali.
![](https://developer.android.google.cn/static/images/cards/distribute/stories/mediatek_logo.png?authuser=9&hl=it)
![](https://developer.android.google.cn/static/images/cards/distribute/stories/android_logo.png?authuser=9&hl=it)
Inizia a usare l'adattabilità di Android
Il Dynamic Performance Framework Android è ora disponibile per tutti gli sviluppatori di giochi Android per i motori di gioco Unity, Unreal e Cocos Creator e tramite le nostre librerie C++ native.
- Gli sviluppatori Unity possono iniziare a utilizzare la versione 5.0.0 del provider Adaptive Performance . Tieni presente che l'API Thermal è supportata dalla maggior parte dei dispositivi Android a partire da Android 11 (livello API 30) e dall'API Performance Hint di Android 12 (livello API 31).
- Gli sviluppatori Unreal possono iniziare a utilizzare il plug-in Android Dynamic Performance Unreal Engine per la maggior parte dei dispositivi Android che hanno come target Android 12 (livello API 31) o versioni successive.
- Per Cocos Creator, puoi iniziare a utilizzare l'API Thermal dalla versione 3.8.2 e l'API Performance Hint dalla v3.8.3.
Per questi motori di gioco, le API termiche sono integrate con Adaptive Performance per aiutarti a recuperare le informazioni sulla temperatura del dispositivo e l'API del suggerimento sulle prestazioni viene chiamata automaticamente ogni Update()
o Monitor()
senza alcun lavoro aggiuntivo.
Infine, per i motori personalizzati, puoi fare riferimento al nostro
esempio nativo di ADPF C++.
Risorse aggiuntive
Scopri come il framework delle prestazioni dinamiche di Android può aiutarti a stabilizzare gli FPS del gioco e a ridurre la limitazione termica.
Scopri di più sulla tecnologia MediaTek Adaptive Gaming per l'ottimizzazione avanzata delle prestazioni sui SoC MediaTek.