Lancement: 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. Ce mode ne désactive pas les autres comportements de performances dynamiques, tels que la sélection des cœurs.
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 démarrer. l'exécution.
- Surveillez l'état thermique de l'appareil pendant les tests pour différencier l'impact entre le code de l'analyse comparative et les événements thermiques.