sábado, 27 de julho de 2013

Tipos de Governors {Governadore}




Eae galera hoje trago para vocês um esclarecimento pra que serve cada governador que vem em um kernel android

Primeiramente, todos precisam entender que o governor é o que define como o Android irá se comportar com a mudança de clock do processador. Vamos aos seus tipos:
Conservative

Disponível em alguns kernels. É parecido ao governor ondemand, mas vai aumentando a velocidade do CPU de forma mais gradual para se adaptar melhor à utilização atual, só indo pro máximo se realmente for necessário. Como o próprio nome diz é conservador, fornece uma experiência mais lenta que o ondemand, mas pode conservar mais bateria.


Interactive

O governador "interativo" tem uma abordagem diferente. Em vez de se basear em porcentagem de cpu, se baseia no idle da mesma. Se não está em ciclos de idle, o governor considera que a cpu está com pouco poder, e joga o clock pra cima. É o mais guloso de todos os governors, porém, é o que deixa o celular mais "esperto".


InteractiveX

É muito semelhante ao governor interactive exceto que ele vai escalar o cpu até 300MHz quando a tela está desligada (como smartass).


Intellidemand

É mais um governor baseado no ondemand. O Intellidemand comporta-se diferentemente de acordo com o uso da GPU. Quando a GPU é muito ocupado (por jogos, mapas, benchmarking, etc) o intellidemand se comporta como ondemand. Quando GPU é menos ocupado (ou moderadamente ocupado), o intellidemand limita a frequência máxima a um nível de acordo com as frequências disponíveis no dispositivo / kernel para economizar bateria. Isso é chamado de navegação de modo. Podemos ver alguns "traços" de governor interactive aqui.


Lagfree

É um governor com base no governor conservative. Pretende manter a vida útil da bateria o maior tempo possível sem obter qualquer lag.


Lazy

O governor de Ezekeel é basicamente um ondemand com um parâmetro adicional para especificar o tempo mínimo que a CPU fica em uma freqüência antes de aumentar ou diminuir o nível. A idéia aqui é para eliminar qualquer instabilidade provocada pela freqüência de comutação rápida por ondemand. Os níveis nesse governormudam mais frequentemente do que no ondemand, mas a freqüência muda apenas depois de completar o parâmetro em um passo de intervalo de amostragem primordial. Lazy também tem um parâmetro que quando ativado fará com que o governor sempre selecione a freqüência máxima, enquanto a tela está desligada.


Lulzactive

Esta nova descoberta de Tegrak baseia-se nos governors Interactive e Smartass.

Versão antiga: Quando a carga de trabalho é maior ou igual a 60%, as frequências de CPU aumentam um nível. Quando a carga de trabalho é inferior a 60%, as frequências de CPU diminuem um nível. Quando a tela está desligada, a frequência é bloqueada para frequência global de escala mínima.

Nova Versão: Ao contrário da versão anterior, este dá mais controle para o usuário. Podemos definir o limite em que o governor decide o nível que aumenta e diminui. Nós também podemos definir o número de passos de freqüência a ser ignorado enquanto aumenta e diminui.


Minmax

Fica em velocidade mínima até que seja necessária mais velocidade, em seguida, vai direto para alta velocidade.


Ondemand

Disponível na maioria dos kernels como padrão. Quando o CPU atinge uma certa porcentagem de uso (86% no valor padrão), o governor vai aumentar a velocidade do CPU para corresponder à utilização atual, e vai diminuir a velocidade conforme menos utilizado for o CPU.


OndemandX

É basicamente como o Ondemand com a diferença de que quando a tela está desligada a freqüência máxima é limitada em 500 mhz..


Performance

Disponível na maioria dos kernels. Vai manter o CPU em execução sempre no máximo. É um pouco mais eficiente do que simplesmente definir o "Max" e o "Min" para o mesmo valor e usar ondemand e é recomendado para uma análise comparativa.


Powersave

Disponível em alguns kernels. É o contrário de performance. Vai manter o CPU em execução sempre no mínimo.


SavagedZen

Outro governor baseado no smartassV2. Consegue um bom equilíbrio entre desempenho e bateria.


Scary

Novo governor escrito com base no conservative com algumas características smartass. Então ele vai começar a partir do último nível de frequência e tomará uma amostra de carga. Se for acima do upthreshold, aumenta ou diminui um nível de cada vez. Passa a maior parte de seu tempo em freqüências mais baixas. O objetivo é obter a melhor vida da bateria com uma performance decente. Em um primeiro momento, ele vai te dar o mesmo desempenho que o conservative, mas com o tempo isso irá mudando.


Smartass

Desenvolvido na mesma filosofia do interactive, mas com uma série de melhorias. É bastante ágil, trocando rapidamente de clock também baseado nos ciclos de idle. Ele é um meio termo, não tão fominha quanto o interactive nem tão lento nas trocas de clock quanto o conservative. Uma vantagem do smartass é detectar quando a tela é desligada, obrigando a cpu a trabalhar no máximo a 250 Mhz. O que torna o profile do Setcpu de "Screen off" não-necessário.

Mas a maior vantagem é que ao sair do modo sleep o Smartass joga o clock ao máximo. Se o telefone está com a tela desligada, e por algum motivo "acorda", seja por um e-mail, SMS ou uma ligação, imediatamente o smartass leva a cpu ao máximo, evitando possíveis problemas. Alguns governors em certos telefones são problemáticos quanto a isso, pois a cpu dormindo está em 125 ou 250 Mhz e o telefone exige bem mais ao acordar.


SmartassV2

É uma atualização para o governador smartass. Tem como objetivo essencialmente maximizar o desempenho, otimizando o poder de uso.


Userspace

Ela permite à outras aplicações ou binários editar e afetar o clocking.

Um comentário:

  1. olá, tive um problema no meu pocket no qual instalei um app e ele modificou uns arquivos. se vocês tiverem os arquivos que ficam em:
    /system/vendor/etc/audio_effects.conf
    /system/etc/audio_effects.conf e /system/lib/soundfx/libbundlewrapper.so
    eu iria agradecer muito. obrigado.

    ResponderExcluir