Versión: Android 11 (nivel de API 30)
Los dispositivos Android pueden cambiar el reloj de forma dinámica según la carga del sistema. Este comportamiento es bueno para el ahorro de energía durante el uso, pero puede dificultar la obtención de datos de rendimiento confiables. Si intentas determinar qué tan rápido se puede ejecutar un fragmento de código para prevenir la regresión o si una optimización es repetible, tus resultados no serán confiables si no se prueban a velocidades de reloj fijas. Con los relojes fijos, puedes realizar pruebas A/B del rendimiento con precisión, sin que la frecuencia de la CPU sea un factor.
El modo de rendimiento fijo establece los relojes de la CPU y la GPU en un límite inferior y superior. Este modo no inhabilita otros comportamientos de rendimiento dinámico, como la selección de núcleos.
Puedes habilitar el modo de rendimiento fijo con el siguiente comando adb:
adb shell cmd power set-fixed-performance-mode-enabled [true|false]
Un dispositivo que se ejecuta en modo de rendimiento fijo aún puede sobrecalentarse porque el modo no coloca al dispositivo en un estado térmico sustentable. Por este motivo, recomendamos lo siguiente para las ejecuciones de comparativas:
- Espera a que el dispositivo vuelva a un estado térmico sustentable antes de comenzar la carrera.
- Supervisa el estado térmico del dispositivo durante las pruebas para diferenciar el impacto entre el código de comparativas y los eventos térmicos.