Lançamento: Android 11 (nível 30 da API)
Os dispositivos Android podem mudar o relógio de forma dinâmica com base na carga do sistema. Esse comportamento é bom para economia de energia durante o uso, mas pode dificultar a coleta de dados confiáveis de performance. Se você está tentando determinar a velocidade em que um fragmento de código pode ser executado para evitar a regressão ou se uma otimização pode ser repetida, seus resultados não são confiáveis caso não tenham sido testados em velocidades fixas do relógio. Com relógios fixos, é possível realizar testes A/B precisos de performance sem que as mudanças na frequência da CPU sejam um fator.
O modo de performance fixa define relógios de CPU e GPU com limites superior e inferior. Esse modo não desativa outros comportamentos dinâmicos de performance, como a seleção de núcleo.
É possível ativar o modo de performance fixa com o seguinte comando adb:
adb shell cmd power set-fixed-performance-mode-enabled [true|false]
Um dispositivo em execução no modo de performance fixa ainda pode superaquecer, porque o modo não o coloca em um estado de temperatura sustentável. Por isso, recomendamos o seguinte para execuções de benchmark:
- Aguarde o dispositivo retornar a um estado de temperatura sustentável antes de iniciar durante a corrida.
- Monitore o estado térmico do dispositivo durante o teste para diferenciar o impacto entre o código de benchmark e os eventos térmicos.