UNISOC exploite l'ADPF pour améliorer les performances des jeux Android

L'optimisation des performances et de la gestion thermique est un défi majeur pour les développeurs de jeux sur Android. Pour créer les meilleures expériences de jeu possible, les développeurs ont besoin d'outils permettant d'équilibrer les fréquences d'images élevées et la consommation d'énergie durable. Android Dynamic Performance Framework (ADPF) fournit un ensemble essentiel d'API qui permettent aux jeux d'interagir directement avec les systèmes d'alimentation et thermiques d'un appareil, ce qui permet cette optimisation précise.

UNISOC utilise ces outils pour offrir une expérience de jeu supérieure sur ses SoC. À partir d'Android 14, les produits UNISOC sont entièrement compatibles avec les API ADPF de base, y compris les API Performance Hint, Thermal et Game Mode/State. Pour améliorer encore les performances de ses SoC, UNISOC utilise ces API ADPF dans son propre moteur UNISOC Miracle Gaming afin de surveiller les charges de travail du système et d'ajuster dynamiquement les performances, ce qui garantit une expérience de jeu plus fluide et plus stable.

Figure 1 : UNISOC Miracle Gaming
Figure 1 : UNISOC Miracle Gaming

Optimiser les performances et la température avec ADPF

L'implémentation de l'ADPF par UNISOC offre aux développeurs des outils puissants pour gérer les performances des jeux en temps réel.

  • Conseil de performances : PerformanceHintManager permet aux applications de transmettre des informations au système, ce qui permet au SoC d'allouer la bonne quantité de ressources au bon moment. En fournissant des indications sur les charges de travail et en signalant la durée réelle des frames, les jeux peuvent aider le système à accélérer dynamiquement le dessin et la composition des calques, ce qui permet d'obtenir des performances plus cohérentes.

  • API thermique : pour éviter la limitation thermique perturbatrice, les développeurs peuvent utiliser l'API getThermalHeadroom(). Cette fonction fournit une prédiction de l'état thermique de l'appareil, ce qui permet à une application d'ajuster de manière proactive sa charge de travail avant qu'une surchauffe ne se produise. Cette prévoyance est essentielle pour stabiliser la fréquence d'images du jeu lors de sessions intenses et de longue durée.

  • API Game Mode et Game State : ces API améliorent la communication entre le jeu et le système. GameMode permet aux utilisateurs de signaler leur intention (par exemple, choisir un paramètre de "performances" dans le jeu), tandis que GameState permet au jeu d'informer l'OS de son état actuel (par exemple, chargement, lecture, etc.). En coulisses, le système peut ensuite utiliser des interventions telles que la mise à l'échelle de la résolution du jeu et les remplacements des FPS du jeu pour optimiser les performances en fonction de ce contexte.

Améliorer la fréquence d'images et l'efficacité énergétique

L'intégration d'ADPF sur les SoC UNISOC apporte des améliorations concrètes en termes de fréquence d'images, de consommation d'énergie et d'expérience de jeu globale. Lors de tests avec le titre populaire LineageW de NCSOFT, les avantages étaient évidents pour différents paramètres graphiques.

Avec une qualité graphique moyenne, le jeu a enregistré une augmentation significative de 28,1 % de la fréquence d'images tout en diminuant la consommation d'énergie de 3,7 %, ce qui a permis d'obtenir à la fois une expérience plus fluide et une efficacité améliorée.

Les résultats obtenus avec d'autres paramètres étaient également impressionnants :

  • Avec des paramètres graphiques élevés, la fréquence d'images a augmenté de 50,1 %, ce qui est impressionnant, avec une augmentation de la consommation d'énergie de seulement 3,1 %. Cela montre la capacité de l'ADPF à libérer une marge de performances importante.

  • Avec des paramètres graphiques bas, les joueurs ont constaté une augmentation de 11,5 % de la fréquence d'images, avec une augmentation correspondante de 9,9 % de la consommation d'énergie. Cela montre que les performances s'améliorent même avec des configurations moins exigeantes.

Figure 2 : Fréquence d'images avec des graphismes de qualité inférieure
Figure 2 : Fréquence d'images avec des graphismes de qualité inférieure
Figure 3 : Fréquence d'images moyenne
Figure 3 : Fréquence d'images avec des graphismes de qualité moyenne
Figure 4 : Fréquence d'images avec des graphismes élevés
Figure 4 : Fréquence d'images avec des graphismes de qualité supérieure
Figure 5 : Consommation d'énergie
Figure 5 : Consommation d'énergie

UNISOC propose également une fonctionnalité d'optimisation adaptative. Lorsqu'un utilisateur active cette option, l'application peut ajuster automatiquement les éléments graphiques tels que la qualité des textures, de la végétation et des effets en fonction des commentaires du système, ce qui permet d'assurer un taux de rafraîchissement plus stable.

L'avenir des performances adaptatives sur les SoC UNISOC

UNISOC s'engage à approfondir son intégration à ADPF. À mesure que le framework évolue, le moteur UNISOC Miracle Gaming continuera d'intégrer les dernières fonctionnalités ADPF de base, garantissant ainsi aux développeurs et aux joueurs de bénéficier des technologies de gestion thermique et de performances les plus récentes sur les appareils équipés d'UNISOC.

Premiers pas avec l'adaptabilité Android

L'Android Dynamic Performance Framework est désormais disponible pour tous les développeurs de jeux Android pour les moteurs de jeux Unity, Unreal et Cocos Creator, ainsi que via les bibliothèques C++ natives.

  • Si vous êtes développeur Unity, vous pouvez commencer avec le fournisseur Adaptive Performance v5.0.0. Notez que l'API Thermal est compatible avec la plupart des appareils Android à partir d'Android 11 (niveau d'API 30), et l'API Performance Hint à partir d'Android 12 (niveau d'API 31).

  • Si vous êtes développeur Unreal, vous pouvez commencer avec 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 commencer à utiliser l'API Thermal à partir de la version 3.8.2 et l'API Performance Hint à partir de la version 3.8.3.

  • Pour les moteurs personnalisés, vous pouvez consulter l'exemple ADPF natif en C++.