Set CPU 

O que é o SetCPU?

É um aplicativo destinado a aparelhos com o sistema operacional Android, que permite realizar modificações envolvendo configurações relacionadas a voltagem da bateria e freqüência do processador.

Qual a vantagem de utilizá-lo?

Modificando dados sobre a freqüência e voltagem, consegue-se dentro do Sistema Operacional Android, melhorar a autonomia da bateria, especialmente nos aparelhos com o Android 4.0 (Ice Crean Sandwich).

Quais os pré-requisitos?

Há apenas um: ter o aparelho com “root” (permissão de super usuário). Veja como liberar o acesso root no Samsun g Galaxy Note GT N7000 com Android 4.0  e no Samsung Galaxy Note 2 GT N7100 com Android 4.1.

Como configurar o SetCPU?

1º - Definindo a margem de trabalho de seu SetCPU:

Quando ativamos o aplicativo, entraremos na página inicial do app, onde há ali duas fileiras de números. A fileira superior definirá a maior freqüência (clock) e a fileira inferior a menor frequencia. Por definição no Galaxy Note a freqüência máxima é de 1400 MHz e a mínima de 200MHz. Trabalhar acima do clock máximo ou abaixo do clock mínimo pode ser perigoso na primeira opção e causar baixo rendimento de trabalho na segunda opção (já pensou ter que ligar para a polícia e ter que esperar 15 segundos para sua tela desbloquear?).

2º - Entendendo os Governor:

O Governor vai variar conforme o kernel que você está utilizando. Por exemplo, o kernel padrão do Android normalmente tem menos opções do que o Hydracore, por exemplo.

- Ondemand: este recurso permite que o processador, configurado para trabalhar de 1400MHz/200MHz (por exemplo, no Galaxy Note Gt N7000), que eleve ou reduza a freqüência (clock) do CPU conforme a demanda necessária (ou conforme aumente ou diminua a exigência de mais clock ou menos clock conforme o usuário faz uso do aparelho. Eu costumo deixar esta oção ativa em todos os meus profiles.

- Powersave: faz com que o CPU trabalha sempre que possível no menor clock. Isso pode fazer com que o aparelho trave mais ou demore um pouco a responder a algum comando.

- Performance: faz exatamente o contrário do Powersave e seu CPU manterá sempre que possível o clock no máximo configurado.;

- Userspace: de forma geral, basta dizer que não se deve utilizar esta opção (sugestão dos próprios desenvolvedores do SetCPU;

Estes são os Governors básicos. Os demais vão variar conforme o seu kernel.

3º Entendendo o I/O Scheduler:

Uma analogia bem interessante sobre cada um das 3 principais opções foi feita por KGS1992 (membro sênior do XDA Developers). Imagine um grupo de pessoas (aplicativos) querendo comprar um sorvete (requisitando trabalho do CPU).

- noop: esta opção trabalha segundo o pensamento “quem chega primeiro se serve primeiro”. Assim, o aplicativo que precisar de mais clock do CPU primeiro, será atendido, nos casos em que há mais de um ativo. Eu particularmente deixo esta opção ativa em todos os meus profiles

- deadline: aqui o set CPU responderá conforme a prioridade dada a cada aplicativo (e neste caso não temos como interferir). É como se tivessem na fila de compra do sorvete, um grupo de idosos, de grávidas, de deficientes físicos, etc e o sorveteiro (SetCPU) tivesse que determinar de quem é a prioridade a cada momento.. Vai ser determinado pelo aplicativo SetCPU qual o aplicativo a receber a resposta a sua demanda por um maior clock.

- cfq: neste caso a fila é rotativa e se repete. Assim, o aplicativo que recebeu a resposta a sua demanda por um maior clock, depois de atendido volta para o final da fila, sendo atendido agora o segundo, que em seguida vai para o final da fila e assim suscessivamente.

4º - Entendendo os Profiles:

Existem vários profiles possíveis de serem utilizados pelo SetCPU e cada um deles ligado a uma condição como nível de bateria (Battery Level), temperatura )Battery Temperature), se está ou não ligado a tomada (Charging State), se a tela está desligada ou não (Screen On/Off), se a tela está desbloqueada (Screen Unlocked), etc.

Dentro de cada configuração, você poderá escolher o Governor, o I/O Scheduler e os clocks do CPU.

Por exemplo, em meu Screen On/Off deixo sempre e 1400MHz/200MHz, com Governor em ondemand e I/O Scheduler em noop.

Como sei que quando a bateria fica muito quente posso acabar diminuindo seu rendimento, necessitando recarregá-la mais vezes e portanto diminuindo o tempo de vida útil dela (que dura por volta de 400 ciclos de carga e descarga), eu sempre deixo meu Batery Temperature >=45º em 1000MHz/200MHz, com Governor em ondemand e I/O Scheduler em noop.