Améliorer les performances et la gestion thermique est essentiel pour développer des jeux réussis sur Android. Traditionnellement, les développeurs devaient gérer ces problèmes en diminuant la fidélité du jeu ou en optimisant davantage le moteur de rendu. Ces modifications tendent à être propres à un jeu et peuvent souvent être rigides.
Plusieurs participants de l'écosystème Android proposent des API de performances adaptatives aux développeurs. Pour simplifier l'intégration des fonctionnalités de performances adaptatives et réduire la fragmentation dans l'écosystème, Google et MediaTek collaborent pour intégrer nos offres: Android Dynamic Performance Framework (ADPF) et MediaTek Adaptive Gaming Technology (MAGT).
ADPF permet aux développeurs d'ajuster la charge de travail de jeu en fonction des situations thermiques en temps réel et fournit des conseils au système d'exploitation pour optimiser les performances en fonction de la charge de travail actuelle. Vous pouvez utiliser ces signaux pour ajuster des paramètres de fidélité et de performances tels que la résolution, la fréquence d'images et même la stratégie de chargement des ressources. Cela vous permet de mieux équilibrer les performances, les performances thermiques et la fidélité, ce qui offre aux gamers Android la meilleure expérience possible. L'écosystème Android utilise cette technologie à bon escient. L'outil Ares de Kakao Games a pu augmenter la stabilité du FPS à 96% en ajustant la charge de travail au moment de l'exécution en réponse à l'API thermique.
MediaTek est l'un des principaux fournisseurs de SoC sur Android. L'entreprise produit un certain nombre de puces, comme le nouveau Dimensity 9300. MediaTek propose également le SDK MAGT, disponible depuis 2021. Le SDK fournit des fonctionnalités avancées pour le réglage des performances sur les SoC MediaTek, telles que des informations détaillées sur les performances en temps réel et des conseils pour augmenter les charges de travail. En plus de proposer MAGT aux développeurs, MediaTek a commencé à proposer des fonctionnalités ADPF améliorées.
Évitez la limitation thermique avec ADPF et optimisez les performances
MediaTek permet au framework ADPF d'accéder aux températures actuelles et cibles de l'appareil afin d'éviter un ralentissement sévère. En utilisant la fonction getThermalHeadroom()
d'ADPF, les applications peuvent obtenir une estimation de la plage de température disponible avant que l'appareil n'atteigne un ralentissement sévère. À l'aide de cette estimation, les applications peuvent ajuster de manière dynamique les charges de travail pour empêcher l'appareil de déclencher des limitations, améliorant ainsi l'expérience utilisateur globale.
L'application (en se basant sur la démonstration de Bat Attack d'Unity comme exemple) utilise également l'API Performance Hint Session pour optimiser ses performances.
Elle fournit le temps de rendu cible et le temps de rendu actuel de chaque image via les fonctions updateTargetWorkDuration()
et reportActualWorkDuration()
, respectivement. La plate-forme MediaTek calcule la charge de travail entre deux appels reportActualWorkDuration()
et alloue une capacité de processeur adéquate pour s'assurer que la charge de travail peut être exécutée dans le délai prévu.
Ainsi, la plate-forme MediaTek fournit systématiquement des images par seconde (FPS) optimales avec une consommation d'énergie équilibrée, ce qui garantit une expérience utilisateur fluide.
Améliorez les fréquences d'images, réduisez la consommation d'énergie et prolongez la durée des sessions de jeu.
Dans l'ensemble, la démo Unity Boat Attack a amélioré la fréquence d'images de 8,5 FPS, réduit la consommation d'énergie de 12 % et activé des sessions de jeu plus longues de 25 minutes ou plus. L'écart type du FPS a chuté de 25%. Une amélioration aussi spectaculaire vous permet d'accroître la fidélité de vos jeux et d'exécuter des sessions de jeu pendant une plus longue période de manière thermiquement durable.
Même sans ajuster les paramètres de fidélité, rien qu'en activant la session d'indice de performances, la charge de travail a pu réduire de près de 10 % la durée moyenne du thread de rendu.
L'avenir des performances adaptatives sur les SoC MediaTek
ADPF sera mis à niveau au cours des prochaines années avec de nouvelles fonctionnalités et des fonctionnalités MAGT non spécifiques à l'appareil. Pour les développeurs qui souhaitent exploiter tout le potentiel de leurs appareils MediaTek, le SDK MAGT contient des fonctionnalités avancées qui ciblent de manière unique les architectures de chipset MediaTek et proposeront bientôt des fonctionnalités ADPF essentielles.
Premiers pas avec l'adaptabilité Android
Le framework de performances dynamiques Android est désormais disponible pour tous les développeurs de jeux Android pour les moteurs de jeu Unreal, Cocos Creator et via nos bibliothèques C++ natives.
- Pour les développeurs Unity, vous pouvez commencer à utiliser la version 5.0.0 du fournisseur de performances adaptatives. Notez que l'API Thermal est compatible avec la plupart des appareils Android à partir d'Android 11 (niveau d'API 30) et avec l'API Performance Hint d'Android 12 (niveau d'API 31).
- Les développeurs Unreal peuvent commencer à utiliser le plug-in Android Dynamic Performance Unreal Engine pour la plupart des appareils Android ciblant Android 12 (niveau d'API 31) ou version ultérieure.
- Pour Cocos Creator, vous pouvez faire vos premiers pas avec l'API Thermal dans la version 3.8.2 et l'API Performance Hint dans la version 3.8.3.
Pour ces moteurs de jeu, les API thermiques sont intégrées aux performances adaptatives pour vous aider à récupérer les informations thermiques de l'appareil, et l'API d'optimisation des performances est appelée automatiquement chaque Update()
ou Monitor()
sans aucune tâche supplémentaire.
Enfin, pour les moteurs personnalisés, vous pouvez référencer notre exemple ADPF C++ natif.
Ressources supplémentaires
Découvrez comment Android Dynamic Performance Framework peut vous aider à stabiliser le FPS de votre jeu et à réduire la limitation thermique.
Découvrez la technologie de jeu adaptatif MediaTek pour un réglage avancé des performances sur les SoC MediaTek.