PplWare Mobile

Os consumos excessivos de bateria dos equipamentos móveis…

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Pedro Pinto says:

    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.

  2. Micael says:

    Excelente artigo. Dá para perceber bem para quem está a programar para Android isto da gestão de energia. 😉

  3. Rui says:

    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 🙂

  4. K says:

    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.

  5. Fernas says:

    Bom dia!
    Muito bom seu artigo.
    Estou adquirindo um galaxy note e como faço para desabilitar esta M!@#$%¨que fizeram?
    TKS

  6. sSs says:

    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!

    • Francisco Franco says:

      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.

      • @lmx says:

        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

        • @lmx says:

          boas…
          quando me referi a menos carga de cpu, estava me a referir a cores com menos processos a correr…

          cmps

        • Francisco Franco says:

          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?

  7. Lourenço says:

    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.

  8. Renato Miguel says:

    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 🙂

    • Francisco Franco says:

      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 😉

  9. Romeu says:

    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

  10. dajosova says:

    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 😉

  11. dajosova says:

    …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!!!

  12. Nuno-mc says:

    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.

    • Francisco Franco says:

      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 😉

  13. miguel says:

    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.

  14. Vítor M. says:

    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?

    • aver says:

      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 😛 )

    • Hugo Cura says:

      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!

    • Sérgio Ferreira says:

      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

  15. Droid says:

    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.

  16. aveiro says:

    É possivel desligar este processo num samsung tablet e se sim, como?
    HAverá os mesmos ganhos?

  17. dbrenha says:

    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

    • Francisco Franco says:

      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.

  18. Alfa says:

    Ouve lá, não tens mais nada para fazer? Compra um N9 e deixa-te de inventar pá… agora cá hotplugs e cenas…

  19. serva says:

    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

  20. Tiago Dias says:

    Excelente artigo! Excelente mesmo 😉

  21. moonnn says:

    “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

    • RCS says:

      Se todas as aplicações fizerem isso, provavelmente estraga o propósito inicial.

    • Carlos Ribeiro says:

      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%.

    • Francisco Franco says:

      Tentei fazer isso mas infelizmente mesmo de 2 em 2 segundos o problema mantém-se.

  22. João Ramiro says:

    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 🙂

  23. Emannxx says:

    O meu velho Nokia 3310 nunca teve destes problemas. 😀

  24. João Pedro Rodrigues dos Santos says:

    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

  25. johnito says:

    Muito bom artigo, já estamos há espero do próximo 🙂

  26. Raclima23 says:

    Gostei imenso deste artigo 🙂

  27. rui says:

    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.

  28. ADS says:

    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.

  29. Sr. Imparcial says:

    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.

    • @lmx says:

      seo telefone passar a maioria do tempo sem qualquer uso…nem é preciso nada porque entra em idle :S

      cmps

    • Francisco Franco says:

      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.

  30. KOizo says:

    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.

  31. Armindo says:

    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 😛

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.