Como alterar a velocidade do processador no Android — ajuste dos governors

Scary

Este é um governor novo, baseado no Conservative, com algumas características do Smartass. Ele sobe a frequência de acordo com as regras do primeiro. Ele começa usando a frequência mais baixa (definida pelo usuário), tira uma amostra da carga de trabalho atual e, se estiver acima dos limites, gradualmente vai subindo a frequência do clock. A redução, quando se aplica, também é feita gradualmente. O objetivo é conseguir a melhor taxa de consumo da carga da bateria com um desempenho decente (ou aceitável). A performance é semelhante ao perfil Conservative.

Lagfree

Semelhante ao OnDemand, o Lagfree se diferencia pela otimização que visa economizar a bateria. A frequência é graciosamente diminuída ou aumentada – diferente do OnDemand, que pula pro topo da faixa de frequência o tempo inteiro.

Este governor não pula escalas na faixa de frequência quando altera o clock. Ele tem que subir gradualmente, passando por cada ponto na escala de frequências. Portanto, ele não se encaixa nos perfis de uso que exigem aumentos repentinos de performance. Relatos de usuários dão conta de que a reprodução de vídeos, usando o lagfree “engasga” um pouco.

Smoothass

Este governor é similar ao Smartass, com as características de ser MUITO mais agressivo e, no geral, oferece uma maior economia da carga da bateria.

BrazilianWax

Similar ao SmartassV2 – só que mais agressivo nas alterações da frequência. O que significa mais performance e menos bateria.

SavagedZen

Outro governor baseado no SmartassV2. Consegue um bom equilíbrio entre desempenho e bateria, em comparação com o BrazilianWax.

Lazy

Desenvolvido por Ezekeel e baseado no OnDemand, tem um parâmetro adicional min_time_state que especifica o tempo mínimo em que a CPU fica em uma frequência antes de seguir para outra. A ideia é eliminar quaisquer instabilidades causadas pelas rápidas mudanças de frequência do OnDemand.

O Lazy sonda  a carga de trabalho da CPU mais vezes que o OnDemand, embora só troque a frequência depois de ter completado o min_time_state.

Ele tem outro parâmetro interno, chamado screenoff_max_freq que, quando ativo, faz o governor selecionar sempre a frequência máxima, quando a tela estiver desligada.

Lionheart

Este governor é baseado no Conservative e funciona bem com o I/O scheduler deadline. Quando se trata de suavidade (sem levar em conta o consumo da bateria), este é um Conservative bem afinado, que pode oferecer mais desempenho que um OnDemand, ainda que este também esteja bem afinado.

LionheartX

Como o próprio nome deixa a entender, é baseado no Lionheart. Sofreu algumas mudanças para incluir características de suspensão (baseado no Smartass).

SavagedZen

Outra ramificação do código do SmartassV2. Oferece boa relação entre performance e consumo, se comparado ao Brazilianwax.

Intellidemand

Da junção das palavras Intelligent Ondemand, criado pelo desenvolvedor Faux, é mais um perfil baseado no OnDemand, mas com características próprias.

Ele limita a frequência máxima quando a GPU (processador gráfico) está ociosa e passa a se comportar como o OnDemand quando ela está atarefada.

Seu objetivo é dar performance aos jogos e não eleva a frequência do clock ao máximo, quando a tela está desligada.

Hotplug

Ajusta a frequência da CPU baseado na sua carga, tal como o OnDemand. Ajusta para o máximo, quando o teto da carga (up_threshold) é ultrapassado e reduz o ajuste, uma frequência de cada vez (ou seja, mais devagar), quando o piso down_threshold é ultrapassado.

A principal diferença do Hotplug é que este vai desabilitar as CPUs auxiliares, quando o sistema se encontra bastante ocioso. À medida em que o sistema vai se tornando ocupado, ele as reabilita.

Pela descrição, já deu para percebeu que ele só é útil em aparelhos com vários núcleos.

Wheatley

Derivado do clássico OnDemand, também é voltado para aparelhos multi-core. Tem 2 parâmetros adicionais:

  • target_residency — média mínima de residency em µs, que for considerada aceitável para se obter eficiência apropriada com o uso do C4 state. O padrão é 10000 = 10ms.
  • allowed_misses — o número de amostras de intervalos em uma coluna em relação às quais a residency é permitida ficar abaixo do target_residency antes que a frequência seja reduzida.

Isto garante que o governor não seja tão agressivo para reduzir a frequência.

Lulzactive

Muitos usuários optam por este governor, baseado no Interactive e no Smartass.

Na versão antiga, quando a carga de trabalho é maior ou igual a 60%, o governor ajusta o clock da frquência da CPU um “degrau” acima. Se a carga for menor do que 60%, ele ajusta um degrau abaixo. Quando a tela está desligada, a frequência é fixada na escala global da frequência mínima.

Na nova versão há 3 parâmetros configuráveis pelo usuário: inc_cpu_load, pump_up_step, pump_down_step. Em que:

  • inc_cpu_load — atual percentual de carga de trabalho do processador;
  • pump_up_step — quantidade de pontos a subir na escala de frequências;
  • pump_down_step — quantidade de pontos a descer na escala de frequências.
Clique para ampliar
Clique para ampliar

Para ficar mais claro, o usuário tem maior controle para ajustar este perfil:

  • definir o limite, a partir do qual, o governor vai decidir elevar/reduzir a frequência
  • definir quantos degraus, para cima ou para baixo, podem ser pulados para ajustar o clock
  • Quando o volume de trabalho for maior ou igual a inc_cpu_load o governor eleva o clock da CPU em pump_up_steps pontos
  • Quando o volume de trabalho for menor a inc_cpu_load o governor reduz o clock da CPU em pump_down_steps pontos

Se você é programador e já entendeu tudo, sinta-se livre para pular pro próximo item. Estou escrevendo para quem não é programador (desculpe…). Para exemplificar, vou dar valores às variáveis de que estávamos falando:

inc_cpu_load=65
pump_up_step=2
pump_down_step=1

Usando as variáveis acima, caso a frequência atual do clock esteja em 200, ele sobe 2 degraus na escala de frequência (que varia de processador para processador). No exemplo da imagem, a frequência subiria para 800 Mhz;

Na próxima página, conheça os 9 últimos governors deste artigo

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

7 comentários em “Como alterar a velocidade do processador no Android — ajuste dos governors”

  1. Salvou a minha vida… Muito obrigado, pesquisei sobre por todo lugar e não encontrei, valeu pela ajuda!

  2. Possuo a seguinte dúvida. Apos root e apos usar um dos programas citados. Se eu der um reset de fábrica ou desinstalar root ou aplicativo. Volta tudo como antes? Apos as alterações posso remover o aplicativo?

  3. bom post. é o meu primeiro smartphone e na verdade não existe nadaa como o meu pc., mas aprender nunca édemais

  4. Gostei bastante. Ajudou-me muito quanto ao desempenho do meu smartphone.
    Aliás, belo sobrenome, parece com o meu. Hahaha

  5. Cara gostei do seu blog, ira me ajudar a entender e aprender sobre TIC já estou cursando GTI; parabéns pela generosidade de compartilhar seus conhecimentos.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.