Disponible : Android 11 (niveau d'API 30)
Les appareils Android peuvent modifier les horloges de façon dynamique en fonction de la charge du système. Bien que ce comportement contribue à réaliser des économies d'énergie lors de l'utilisation, il ne facilite pas l'obtention de données de performances fiables. Si vous essayez de déterminer la vitesse à laquelle un fragment de code peut s'exécuter pour prévenir la régression, ou si une optimisation est reproductible, vos résultats ne seront pas fiables s'ils ne sont pas testés à des vitesses d'horloge fixes. Avec les horloges fixes, vous pouvez effectuer des tests A/B précis des performances sans que les modifications de la fréquence du processeur n'affectent les résultats.
Le mode performances fixes définit les horloges de processeur et de GPU avec des limites supérieure et inférieure. Sur les appareils plus récents, les limites supérieure et inférieure seront définies sur le même point, ce qui supprimera la variance. Ce point de fonctionnement du processeur/GPU est spécifique à l'appareil. Le mode performances fixes ne permet pas d'obtenir les performances maximales de l'appareil, mais plutôt un point de fonctionnement plus bas et plus durable. Bien que le point de fonctionnement puisse être maintenu pendant une durée limitée, il ne peut pas l'être indéfiniment. Le mode Performances ne désactive pas les autres comportements de performances dynamiques, tels que la sélection des cœurs. C'est pourquoi nous vous recommandons d'exécuter votre charge de travail plusieurs fois et de ne comparer que les exécutions qui utilisent le même cœur.
Vous pouvez activer le mode performances fixes à l'aide de la commande adb suivante :
adb shell cmd power set-fixed-performance-mode-enabled [true|false]Un appareil qui s'exécute en mode performances fixes peut quand même surchauffer, car ce mode ne place pas l'appareil dans un état thermiquement durable. C'est pourquoi nous vous recommandons de procéder comme suit pour les analyses comparatives :
- Attendez que l'appareil retrouve son état thermiquement durable avant de lancer l'exécution.
- Surveillez l'état thermique de l'appareil pendant les tests pour différencier l'impact du code de l'analyse comparative et des événements thermiques.