O Google Chrome tem um problema com laptops. Além dos ocasionais detalhes de desempenho, o navegador da Mountain View exige um sacrifício na forma de bateria. Até a Microsoft exerceu pressão sobre esse ponto ao promover o Edge, e os desenvolvedores têm trabalhado há um bom tempo para corrigir a situação. Após o anúncio formal em setembro do ano passado, a versão 57 do Google Chrome agora inclui um sistema de throttling para as abas em segundo plano, de modo que não reivindiquem mais do que 1% da CPU.

Chrome 57 otimiza as abas em segundo plano para consumir menos bateria
Chrome 57

O panorama dos navegadores modernos é lamentável. No momento, estou executando uma instância do Firefox e outra do Chrome. O navegador da Mozilla decidiu devorar um total de 977 megabytes de RAM para três abas e duas extensões dos quais se recusa terminantemente a devolver. Do outro lado, o Chrome ainda sofre crises existenciais sempre que faço um pouco de rolagem em portais como o Facebook. O resultado é uma espécie de break dance tóxico que utiliza 50% de um processador de quatro núcleos, e não há comando na seção flags ou extensão na loja que ajude com isso. Outro problema muito sério que sofre o navegador do Google é o consumo de bateria em laptops. Não importa o modelo ou o sistema operacional, o Chrome se encarrega de espremer baterias como se fossem laranjas.

Chrome 57 otimiza as abas em segundo plano para consumir menos bateria
Você não precisa esperar: basta atualizar o navegador

Os engenheiros descobriram que muitas páginas consomem uma grande quantidade de ciclos de CPU mesmo quando estão em uma aba em segundo plano. Com a chegada do Chrome 57, esse comportamento vai mudar. A chave é um novo sistema de throttling baseado em um orçamento (medido em segundos) ao qual cada aba em segundo plano é submetida depois de passarem 10 segundos. Esse orçamento é regenerado (com um fator de 0,01 segundos por segundo), mas a aba em segundo plano só poderá acessar o chamado "wall time" da CPU (wall time é o tempo real que um processo precisa para iniciar e completar sua tarefa) desde que não tenha esgotado seu orçamento. Em outras palavras, calcula-se que a média de consumo para uma aba em segundo plano será de 1% da CPU.

As principais exceções ao throttling são as abas que reproduzem áudio (pois são consideradas em primeiro plano automaticamente) e aquelas que mantêm conexões em tempo real via WebRTC ou WebSockets. A equipe do Chromium relata uma redução de "abas ocupadas" de 25% e, em determinados sites, a queda no uso da CPU pode chegar a 75%. Naturalmente, o que precisamos agora são medições muito mais sólidas por parte dos usuários, que deverão verificar se isso se traduz em maior duração da bateria. Mas a história não termina aí. Rumo a 2018, buscar-se-á a suspensão total das abas em segundo plano.

Anúncio oficial: