Os consumos excessivos de bateria dos equipamentos móveis…
Por Francisco Franco para o PPLWARE.COM
Um dos temas principais quando se fala sobre Android ou iPhone é a bateria. Ainda para mais com o aparecimento dos dual cores (dois núcleos) a ideia geral dos utilizadores é que quantos mais “cores” existem mais bateria se consome. Será que é mesmo isso?
Com tantas empresas e com tantos engenheiros a trabalhar activamente para melhorar os consumos de energia será que está tudo a caminhar para melhor? Nesta artigo vou provar que nem tudo o que se pensa em relação a consumos é verdadeiro, e que, até uma companhia como a Samsung, está errada.
O Android foi programado para ter vários estados de gestão de energia e de uma maneira algo resumida funciona desta forma:
1. Ecrã ligado mas sem nenhuma acção no momento -> os cores ficam em halt devido ao uso da função do Kernel chamado CONFIG_NO_HZ
2. Ecrã desligado mas ainda não atingiu o estado mais profundo de idle -> Deep sleep
3. Ecrã desligado e sem nenhuma acção que o esteja a manter acordado -> Idle
O que nós queremos nos nossos Androids é que este entre em Idle o mais depressa possível para ficar power collapsed.
Power collapsing é uma funcionalidade interessante pois significa que o nosso telemóvel, independentemente da frequência do processador, não gaste quase bateria nenhuma. Sim leram bem, mesmo que o CPU esteja a 2Ghz, quando está power collapsed, não gasta quase bateria nenhuma pois o CPU entra num estado em que fica completamente powered down.
Há ainda a diferença entre estar powered down e os cores estarem offline. Durante o power collapse os cores ficam apenas num estado de poupança de energia muito eficiente como expliquei acima. Com cores offline (acção que se denomina por Hotplug) os cores são completamente desligados, como se se desligasse uma televisão da tomada de energia. Hotplug só pode ocorrer em dual cores, pois se num single core se desligasse o único core disponível o telemóvel desligava-se.
E é disto que vamos falar. Será que compensa, ou não, desligar um core para poupar energia? Será que é útil haver a capacidade de desligar o segundo core mesmo com o ecrã ligado mas com pouca load? E os custos associados a desligar/ligar um core?
Para uma melhor compreensão vou vos explicar o meu processo. Há cerca de 3 semanas comecei a programar uma função no kernel chamado Dynamic Hotplug, e estava associado ao meu Governor (ficheiro que gere as frequências do CPU dinamicamente). Quando o CPU estava abaixo dos 20% de load o cpu1 (segundo core) era desligado. Quando o load voltasse a ser maior que 20% e o numero de cpus online fosse > 1 (cpu0 = primeiro core, cpu1 = segundo core) a minha função voltava a ligar o cpu1 ficando de novo um dual core.
Pois bem, isto na prática é muito engraçado e se pensarmos bem (sem entrarmos em pormenores técnicos) é fantástico para a bateria... Mas está ERRADO!
A quantidade de vezes que a minha função era chamada por segundo arruinava completamente a ideia, e chegava a ligar e desligar o cpu1 umas 10 vezes por segundo, e a cada vez que isso acontecia o cpu0 aumentava a frequência para o máximo e o load ficava a 100%...
Como podem ver era basicamente o inferno para o CPU. Isto acontecia porque primeiro, o número de trocas de contexto aumentava consideravelmente, segundo, a latência inerente a ligar e desligar um core é brutal (não para nós humanos, mas para uma máquina 100ms é MUITO tempo), e é essa latência que faz com que o cpu0 tivesse cargas de load de 100%. Ora isto tudo junto a acontecer durante um segundo é péssimo a nível de bateria, e péssimo a nivel de interactividade pois isto sente-se quando se usa o telemóvel. Claro que acabei por descartar esta funcionalidade.
Recentemente adquiri um Galaxy Note (daí a referência à Samsung) e deparei me com o Dynamic Hotplug ligado de origem com o Kernel do Note... e como já tinha tido esta experiência com o Kernel do Galaxy Nexus (foi onde criei o meu próprio Dynamic Hotplug como expliquei acima) desactivei-o imediatamente e as diferenças foram imensas - o telemóvel ganhou outra vida. Agora pergunto-me, qual é o objectivo de activarem uma opção potencialmente prejudicial?
Podem ver por aqui uma série de testes que um user fez depois de eu lhe ter dito que Dynamic Hotplug era mau para o telemóvel. Como podem ver, a nível energético a diferença entre ter os dois cores sempre activos ou um deles a ser desligado e ligado a todo o momento, é igual a 0.
O tema de Power Management no Android é muito vasto e divide muitas pessoas, portanto gostava de ouvir as vossas opiniões tendo em conta a minha experiência prática que vos descrevi acima.
Fica aberta a discussão no espaço para comentários abaixo
Fica aberta a discussão no espaço para comentários abaixo
Artigos do autor
Este artigo tem mais de um ano
Excelente artigo. Gosto de ler informação deste tipo, com justificações que foram testadas.
Vamos aguardar e saber a opinião dos nossos leitores.
Excelente artigo. Dá para perceber bem para quem está a programar para Android isto da gestão de energia. 😉
Muito bom artigo!
“Agora pergunto-me, qual é o objectivo de activarem uma opção potencialmente prejudicial?”
Resposta: é uma boa publicidade, para todos os efeitos a máquina está optimizada e capta clientes. Na prática é publicidade enganosa 🙂
Não tenho grande experiência técnica a este nível mas não me admira que a samsung deixe uma coisa potencialmente prejudicial activa. Segundo a minha experiência eles tem hardware muito bom mas a componente de software fica muito muito a desejar. como eu não quero acreditar que eles não possuem dos meios necessários para ter uma equipa técnica de programadores de elite que não sejam capazes de pelo menos fazer o mesmo, só posso concluir que simplesmente não querem saber de fazer melhor e que “para quem é, ja basta”.
O que e uma pena. Todos os dias terceiros lançam actualizações muitas vezes inovando, provando que definitivamente havia espaço para melhorias.
Não posso falar das outras marcas, mas a samsung definitivamente aposta na política de lançar mais hardware e não melhorar o software existente.
Bom dia!
Muito bom seu artigo.
Estou adquirindo um galaxy note e como faço para desabilitar esta M!@#$%¨que fizeram?
TKS
Será que um core desligado produz menos calor? Terá sido por essa razão?
Francisco, existe alguma aplicação que mostre se o sistema esteve em Deep Sleep ou em Idle?
Presumo que o melhor será sempre o idle, correcto?
À partida não, uma vez que entram em deep sleep ambos os cores, portanto não seria por aí.
O sistema de desligamento de um dos cores seria benéfico apenas se fosse feito ao nível do CPU mesmo (como faz a Intel nos Core i), porque lá está o resultado do teste, recorrendo a código de alto nível a correr no kernel, leva a que seja requisitado tempo de processador para efectuar o processamento do código que irá desligar um dos cores.
Artigo e investigação muito interessante. Parabéns!
* A minha primeira frase de resposta era à pergunta “Será que um core desligado produz menos calor?”
Para ver em Deep Sleep há o CPU Spy 🙂 Não acredito que seja por razão de sobre aquecimento, não faz sentido nenhum.
boas Francisco,
não sou entendido no assunto, mas pensando bem sobre este assunto…do meu ponto de vista a ser desligado um core…teria que ser o core com menos carga, caso contrario ira criar muita carga no core a desligar, pois é feito uma espécie de semi context switch(os registos , etc tem que ser guardados no pcb dos processos), e também colocará mais carga no core que depois fica activo(pois os processos do core a desligar,serão passados para este core)…
a ideia que queria transmitir/colocar é que para desligar(caso seja possível escolher), deve-se sempre escolher o processador que tiver menos carga de cpu para desligar, é o que me parece. o semi context switch será menor nesse core e aumentará no outro.
Não sei se estou a dizer alguma barbaridade, mas é o que me parece.
No entanto percebo perfeitamente que é capaz disto não ser vantajoso, porque existem muitos context switchs pelo meio num numero igual aos processos que corriam no core que foi desligado.
Em teoria o context switch deveria ser de todo eliminado, na pratica não é possível, pois queremos um sistema multi-thread, e os context switch roubam processamento, os context switch tem tempos de realização brutais,até a transição modo protegido/kernel do processador(que na pratica é uma espécie de context switch) deveria ser evitada, mas não é possível evita-la.
Parabéns pelo artigo, desconhecia por completo que se fazia isto nos telemóveis.
É sempre bom ter artigos destes sobre tecnologia, dá-nos logo “aquele bichinho” quando gostamos de tecnologia 😛 .
cmps
boas…
quando me referi a menos carga de cpu, estava me a referir a cores com menos processos a correr…
cmps
Temos um problema é que o cpu0 não pode ser desligado, logo isso limita-nos um pouco. Tudo o que disseste faz sentido, nós queremos é minimizar o context switch, mas infelizmente acho que é algo praticamente impossível até a capacidade de Hotplug ser melhorada pelo pessoal do kernel do Linux. Dito pelo rei do ARM, o Russel King: http://lists.infradead.org/pipermail/linux-arm-kernel/2011-December/077955.html o Hotplug é ainda muito experimental por tudo o que já discutimos e não há muito que possa fazer em relação a isso. E aliás, se temos um dual core porque queremos desligar um core?
Artigo muito interessante, e a conclusão a que eu chego é, se pensarmos bem a maioria das pessoas que compra um smartphone não tem conhecimentos de informática e electrónica tão aprofundados, mas mesmo sem conhecimentos reparam que a duração da bateria de um smartphone é fraca ou seja para a maioria das pessoal essa funcionalidade xpto que melhora a duração da bateria é um ponto de interesse no equipamento, nem que depois funcione com uma espécie de efeito placebo.
Cumps.
boas…
o problema aqui nem é funcionar como efeito placebo, mas como disse o Francisco, funcionar ainda pior do que sem ter a funcionalidade lol.
cmps
Boas..
como sempre mais um excelente artigo!
Também não percebo porque haveriam de deixar uma opção potencialmente prejudicial ativa até porque se conseguirem pôr os próprios equipamentos a funcionar com uma longevidade de bateria maior.. melhor! Acho que neste momento a evolução do hardware (CPU, LCD, etc) é tão rápida que ainda não se consegui responder com uma “fonte” de energia suficientemente potente para acompanhar.. o que é pena e acho que era por aí é que deviam ir.. senão compramos telemoveis pequeninos… levezinhos.. e depois andamos com carregadores e baterias atrás!
P.S.: Acho que seria engraçado fazer um mesmo artigo a falar de iPhone ou telemovel com Windows Phone.. soa mal falar só de android e samsung.. digo eu 🙂
Ahah enviem-me iPhones e Windows Phones para eu poder fazer testes então :p
Eu não estou a dizer mal do Android e da Samsung, apenas a mostrar que mesmo as grandes software houses e com grandes engenheiros se enganam, e neste caso, redondamente 😉
Obrigado pelo artigo!
“Recentemente adquiri um Galaxy Note (daí a referência à Samsung) e deparei me com o Dynamic Hotplug ligado de origem com o Kernel do Note… e como já tinha tido esta experiência com o Kernel do Galaxy Nexus (foi onde criei o meu próprio Dynamic Hotplug como expliquei acima) desactivei-o imediatamente e as diferenças foram imensas – o telemóvel ganhou outra vida.”
Um utilizador pode fazer isso num Samsung Android ou noutro Android?
Cumprimentos
Já agora… e os single core?
aos single core isto não se aplica, se o cpu desliga, o telemóvel também…
Eu fiz isso a nível do Kernel, se souberes recompilar o Kernel e onde mexer força nisso 🙂 Mas era uma boa ideia para um artigo futuro… vou pensar!
Viva Pedro e Francisco,
percebi a ideia geral mas não percebo a nível técnico. O que quero aqui partilhar é que comprei um Samsung Galaxy S 2 versão G. Designado GT-i9100G que é uma versão com o processador limitado mas realmente tem uma autonomia de bateria fantástica. Não estava nada à espera de uma tão boa autonomia, sinceramente, face ao uso que lhe dou: câmara c/ flash, jogos, wi-fi, etc. Ainda assim, obviamente tem as suas limitações pois ainda não há muitas ROM’s no XDA…..
Não sei se tem alguma coisa a ver com o tema aqui discutido mas algumas alterações fizeram nesta versão, para além do processador ser um Dual-core 1.2 GHz Cortex-A9 e o GPU um PowerVR SGX540.
cumprimentos 😉
Hmm podes me linkar esse telemóvel? Não conheço nenhum Galaxy SII com uma PowerVR SGX540 (não duvidando da tua palavra).
…bom mesmo era aparecerem no mercado as “tais” baterias de longa duração (do tipo “duração de 1 mês em funcionamento”)… mas acho que ainda vai tardar até venderem essa tecnologia ao público, se é que está desenvolvida!!!
Muito bom este artigo. Mas tu só deste atenção aos dual core e quem lê o artigo pensa que quem consome mais são esses, mas o single têm o mesmo problema.
Dei atenção aos dual core pois são os que tenho tido o privilégio de trabalhar. Os single cores sofrem de outros problemas que não estão relacionados com o consumo excessivo de bateria. No fim, o culpado dos battery drains é SEMPRE o utilizador, e já provei isto mais de mil vezes 😉
talvez a opção prejudicial em ambiente de testes, não seja prejudicial em ambiente “normal”…
talvez seja bom para 70% dos utilizadores, ou então como disseram só para fazer publicidade. isto seria o mesmo que fazer um carro com sistema start&stop para desligar o motor, mas este gastar imensa gasolina a voltar a ligar…
vendo a teoria em cima vem me logo à cabeça 2 “soluções” para melhorar a solução.
1 – não usar um valor fixo mas sim um intervalo, por exemplo, em vez de ligar/desligar aos 20% porque não desligar aos 20% do cpu0 e ligar aos 80% do cpu0?
2 – criar um delay para não permitir situações de troca rápida entre estados, por exemplo, como nós utilizadores não temos a percepção das coisas, os tais 100ms serem muito, mas muito para uma máquina e pouco para nós, podias limitar a mudança de estada a 1x/seg ou 1x/2segs, algo do género.
claro que estas “soluções” são possivelmente qualitativas, não possuo qualquer número que as sustente e os valores que indiquei são meramente exemplos.
Temos de fazer uma entrevista aos senhores da Apple, o iOS para iPhone consome bateria como se não houvesse amanhã, quando será que resolvem o problema?
O melhor artigo da Apple – quanto dura a bateria do 4S e como se pode poupar. Lá vem até o ciclo de carga completo uma vez por mês – carregar até aos 100% e depois descarregar completamente, que alguns dizem já não ser preciso.
Só me admira uma coisa – por que é que não criam um tweak, como o SBSettings (Cydia) que permita de forma fácil e rápida desligar os serviços de que não se precisa, para poupar bateria.
http://www.apple.com/batteries/iphone.html
Lá vem que em standby a bateria do iPhone dura 200 horas. Só que isso sabe a pouco, o pessoal quer é tudo ligado.
Eu, como sou um modesto possuidor de um 3Gs, já me habituei a ter três carregadores – em casa, no trabalho e no carro e governo-me sem problemas. Do que tenha percebido, do que dizem, no iPhone 4 a bateria tinha melhorado muito em relação so 3Gs. Com o 4S + iOS 5 (e iCloud) os gastos de bateria aumentaram (e mais qualquer coisa, que nunca percebi ao certo o que era, sobre um possível problema da bateria do 4S).
O que me parece é que só há solução com um novo tipo de bateria, de hidrogénio (ou uma do tamanho da do iPad 😛 )
Isso não é um problema mas sim uma característica. Com esse tipo de sincronização (iCloud) e notificações, como já existia na concorrência (Android), simplesmente não há milagres e são necessários recursos para satisfazer os serviços activados pelo utilizador.
No Android sempre foi muito simples controlar tudo isso: http://goo.gl/M3GKT
Como o aver diz, a solução passa pela adopção de um tipo revolucionário de baterias.
btw, excelente trabalho Francisco!
IOS, Android, Win Mobile… É tudo farinha do mesmo saco no que a autonomia diz respeito.
Mais chato é que são eles próprios que nos incentivam a utilizar serviços online que acabam por aumentar drásticamente os consumos de bateria: ICloud, Siri (IOS); Dropbox, Google Search (no meu caso em Android), SkyDrive entre outros no Win Mobile (não sou total conhecedor, confesso). Estes apenas alguns exemplos.
Ora bem para realmente disfrutarmos de todos os serviços que nos proporcionam a bateria com uso exaustivo nem metade de um dia dura.
Aver eu como tu também já me habituei a ter vários carregadores, tenho um pouco mais de sorte e comprei uma bateria extra para o Galaxy, mas na mesma é um disparate comprarmos equipamentos de topo que não duram nada em termos de autonomia.
Em tempos comentei num post sobre Smartphones (que regra geral se transformam em IOS vs Android…) que um dos fabricantes que consiga resolver essa lacuna terá de facto um trunfo na mão em relação aos outros.
Julgo ter lido (aqui ou em outro site) que alguns fabricantes estavam já a tomar medidas em relação a isso, se não estou em erro Apple e Samsung encabeçavam a lista (uffff de novo estes dois, já ando farto das guerrinhas deles).
Vamos ver o que o futuro nos dirá.
Abraço
O problema da bateria nos smartphones será resolvido apenas quando inventarem uma nova forma de acumulação de energia. Por mais voltas que derem ao software, o hardware será sempre a questão essencial da equação e como tal, não se podem fazer milagres. Ao longo destes últimos anos os fabricantes têm apostado em novos sistemas operativos, em novas aplicações, numa publicidade que incita à utilização intensiva do aparelho: o gps, as redes sociais, a partilha de ficheiros, etc…
Como possuidor de um Galaxy S2 faz 2 meses tenho a reportar o seguinte: 2 dias e meio de bateria com utilização moderada (ir à internet 15 minutos duas ou três vezes em cada metade do dia), tirar umas fotos, jogar. Quando por exemplo se faz o reeboot do aparelho, e penso que seja uma questão de calibração da bateria, o consumo mesmo mem idle dispara para valores absurdos. Já me aconteceu 1 vez… apenas uma porque felizmente este aparelho aguenta semanas sem fazer qualquer restart…
Em conclusão, em vez de gastarem milhões em novos processadores quad core ou em campanhas publicitárias sem nexo, invistam no capítulo das baterias e na gestão de energia… 1 semana, para mim, é a meta que qualquer equipamento deste tipo deve ter em questões de autonomia.
É possivel desligar este processo num samsung tablet e se sim, como?
HAverá os mesmos ganhos?
Já agora alguém me dá a sua experiência pessoal? underclock melhora muito? É que eu não noto muita coisa, passo o meu galaxy S para 800 MHz com o setCPU mas dá-me cabo da performance quando meti o android 4.0
Nah, o truque é quanto mais depressa o telemóvel entrar em IDLE melhor, logo se começas a baixar muito depois o tempo que ele demora a acabar as suas tarefas é muito maior.
Ouve lá, não tens mais nada para fazer? Compra um N9 e deixa-te de inventar pá… agora cá hotplugs e cenas…
Então Alfa???? Isso é maneira de abordares o nosso colaborador?
Ouve lá não tens mais nada para fazer? Compra um Android e deixa-te de inventar pá… agora cá N9 e cenas…
Francisco Franco ,
Com os meus cumprimentos , excelente artigo o teu , de facto há que perguntar o que é que estes Engºs todos pagos a peso de ouro andam a fazer , é inaceitável que se lancem produtos que poderiam estar melhor optimizados e depois na prática o que se verifica são uma quantidade de erros grosseiros .
Como disse excelente artigo e escrito com discernimento e inteligência .
Aceite os meus sinceros cumprimentos
Serva
Thank you =)
Excelente artigo! Excelente mesmo 😉
Obrigado Tiago 😉
“A quantidade de vezes que a minha função era chamada por segundo arruinava completamente a ideia, e chegava a ligar e desligar o cpu1 umas 10 vezes por segundo, e a cada vez que isso acontecia o cpu0 aumentava a frequência para o máximo e o load ficava a 100%…”
para evitar isso basta mantela ativa 1seg apos utilizaçao assin nai criava picos mas sim uma utilizaçao continua 8) ai fica resolvido o problema de estar sempre a acordar o segundo core
Se todas as aplicações fizerem isso, provavelmente estraga o propósito inicial.
Exactamente, ou seja tem de ter um tempo de amostra. Ou seja só desliga um CPU se os dois CPU’s estiverem algum tempo (p exemplo 3 ou 4 segundos) abaixo do valor que programas neste caso 20%, e só liga novamente o 2º CPU se o estiver 3 ou 4 segundos acima dos 20%. ou para que quando seja necessária a potência máxima esteja mais rapidamente disponível 0,5 segundos acima dos 40%.
Tentei fazer isso mas infelizmente mesmo de 2 em 2 segundos o problema mantém-se.
seria uma boa ideia mas se nao funca 🙁
iria evitar os picos
picos = desgaste de bateria ??
Excelente artigo que aborda um ponto sensível nos smartphones de hoje.
Mas não é só no software que está o problema, muitos querem lançar o smartphone mais fino possível e com maior ecrã… cortam na bateria à custa de uns milímetros a menos. uma ideia errada que só estas companhias não querem crer. um bom exemplo é o Motorola RAZR (130.7 x 68.9 x 7.1 mm) que mais tarde foi disponibilizada a versão MAXX (130.7 x 68.9 x 9 mm) e que na minha opinião uma excelente jogada 🙂
O meu velho Nokia 3310 nunca teve destes problemas. 😀
Excelente artigo! Quanto à poupança de energia eu tenho sempre os dois cores ligados no meu SGS2! A bateria dura-me dois dias no máximo. Mas tendo um telemóvel de topo, decidi adquirir um telemóvel daqueles MUITO básicos que só dão para SMS e chamadas! E porquê? Por 19,90€ tenho um telemóvel para as emergências porque adoro andar na internet, jogar e ouvir música no SGS2! E quando acaba a bateria? Muda-se para o mais fraquinho e a bateria do mais fraquinho dura-me para 2 semanas LOL
Façam como eu: Usem, aproveitem e abusem do telemóvel de topo que têm… deixem a bateria para outros telemóveis!
Cumprimentos
PS: Pedro: Quando adquiriste o Note? Sempre vão fazer a análise dele? Queres que empreste o meu como tinhamos combinado? Abraço
Eu tenho o Note, mais depressa faço eu uma análise porreira aqui para o PPLware, coitado do Pedro já tem trabalho que chegue eheh
Muito bom artigo, já estamos há espero do próximo 🙂
Gostei imenso deste artigo 🙂
não importa ser android, ios ou windows phone.
O problema está na constante ligação de dados, e no ecrã tacteis.
no android 2.3.6 façam um atalho no ecra inicial(ou instalem a app ‘2G-3G OnOff’), para as ‘definições de rede movel’ e liguem/desliguem a ‘ligação de dados’ e ‘utilizar apenas redes 2g’, apenas quano precisam.
em 3 rapidos toques a bateria vão aumentar drasticamente.
O meu concelho é instalarem uma custom Rom, ou/e Kernel.
A minha bateria melhorou muito quando mudei de rom e kernel.
No forum do XDA tem tudo sobre isso.
e donde achas que vêm esses kernei’s?
da comunidade, e o Francisco Franco tem inclusive o seu próprio kernel
O que é que uma coisa tem haver com outra?
Claro que sei de onde é que vem os kernels e roms, ou achas que meti isso no meu Galaxy S2 sem saber o que era?
Ai tem? Fixe. É ele o on.one?
Tenho várias, para o LG P500, X5, Nexus S, Galaxy Nexus, Galaxy Note… mas não para o SGSII.
Nem sei bem por onde começar…
Primeiro: Antes de mais, acho que afirmar “Nesta artigo vou provar que nem tudo o que se pensa em relação a consumos é verdadeiro, e que, até uma companhia como a Samsung, está errada.” …é um pouco ousado. E acabou por não se provar nada!
Segundo: o que fizeram foi tentar criar um ‘power-governor’ que falhou, e depois culparam a funcionalidade ‘Hotplug’. Ainda neste ponto, vi que alguém já sugeriu “activar/desactivar o segundo core só de X em X segundos”… e responderam “o problema mantém-se”. Como é que o problema se mantem se o estado só é alterado de 2 em 2 segundos? Deve ter havido aqui uma falha de comunicação.
Terceiro: O teste feito na página que indicaram não me parece muito rigoroso. Tal como é indicado nos comentários o facto de estar ligado por USB pode influênciar no resultado, e estar a medir a corrente usada pelo cpu tendo o ecrã ligado também não foi grande ideia.
Na minha opinião:
A funcionalidade de desligar o segundo core só deve trazer algum beneficio (aumentando a duração da bateria) se o telemóvel tiver um uso muito reduzido, ou seja, se passar a maioria do tempo sem qualquer uso. No resto dos casos, não me parece que esta seja uma função que seja maléfica para os utilizadores.
Mas se já alguém fez um teste rigoroso e intensivo, agradeço que partilhe aqui os resultados.
seo telefone passar a maioria do tempo sem qualquer uso…nem é preciso nada porque entra em idle :S
cmps
Claro que é ousado, qual é a piada se não o fosse? 😉
Não, eles não tentaram criar nenhum power-governor, eles criaram uma driver, conjunto de funções, o que quiseres chamar, que tratavam de desligar o cpu1 conforme o load. Claro que se culpa a funcionalidade Hotplug, eu até linkei um post do Russel King, que sabe mais que todos nós juntos sobre a arquitectura ARM e as drivers respectivas, portanto eu vou levar em consideração o que ele disse, e aliado à experiência prática que tive, e que relatei neste artigo, não tenho qualquer dúvida que a culpa é da má implementação do Hotplug pois é algo extremamente instável. Mexer com os cpu’s não é para brincadeiras.
O problema manteve-se mesmo chamando a função de 2 em 2 segundos, porquê não faço ideia. Talvez o polling ao CPU aliado ao uso normal do utilizador fosse um bocado pesado? Sinceramente não te sei dizer porquê. Para além de que alguns utilizadores reportaram Screen of Deaths com a função a ser chamada de 2 em 2 segundos…também não percebi porquê, mas foi um problema geral.
O teste pareceu-me suficientemente rigoroso para servir de base para suportar a minha opinião, e como sei que a pessoa que o fez é engenheiro dou-lhe algum crédito. Mas se achas que consegues fazer um mais rigoroso faz favor 🙂
Para quê desligar o segundo core com pouco uso? Para isso o telemóvel está em idle, e é a mesma treta ter 1 ou 40 cpus ligados.
Por muitas modificaçoes de software para poupar bateria na realidade o que reparo é k nao ha grandes interesses em desenvolver novos materiais para produzir baterias de grande capacidade, talvez porque também há grandes interesses em que pelo menos de 2 em 2 anos o consumidor compre um novo smartphone.
O artigo está exceletne, mas eu com o Galaxy W para o poder de facto usar e tirar partido dele, sem estar preocupado com a questão da bateria aguentar o dia todo, ou ficar sem bateria a minha salavação foi uma bateria adicional, bateria externa ou de backup, ou como queiram chamar, que me tem safado e despreocupado em muitas e muitas situações.
Estes truques para poupar energia são muito giros e uteis, mas é preciso ter paciência para os gerir, e eu não a tenho.
Sou da opinião que se compramos máquinas destas são para utilizar e não para nos preocuparmos.
Deixo apenas para referência o modelo que comprei da Kayo (q nunca tinha ouvido falar, mas depois de ler vi q é uma marca de referência em baterias?) para o caso de interessar a alguém http://kayobattery.pt/comprar/bateria-externa-usb-universal-s10/ comprei a cor branca, nada de confusões 😛