O Google Chrome está tentando economizar memória do jeito mais irritante possível
Uma das maiores desvantagens do Google Chrome está em seu consumo de memória: ele abre abas em processos separados para evitar que um travamento derrube todo o navegador – porém isso consome muita RAM. O Google está ciente disso, e pretende resolver isso… criando outro problema.
>>> Dane-se o Chrome, eu vou voltar para o Firefox
Em julho de 2015, uma versão preliminar do Chrome (Canary) para PCs passou a descartar abas pouco usadas: elas são retiradas da memória quando o sistema estiver com pouca RAM livre.
Há uma ordem de prioridade para removê-las da memória:
1. Páginas internas como nova guia, favoritos etc.
2. Abas selecionadas há muito tempo
3. Abas selecionadas recentemente
4. Abas reproduzindo áudio
5. Apps rodando em uma janela
6. Abas fixadas
7. A aba selecionada
Ou seja, o Chrome vai eliminar páginas antigas primeiro, mas só vai descartar abas fixadas em último caso. Elas não somem da interface: basta clicar para carregá-las novamente.
E em chrome://discards, você pode ver as abas organizadas por prioridade (da maior para a menor); as que estiverem no fim da lista serão descartadas primeiro.
Este recurso está presente há mais tempo no Chrome OS, e vem sendo levado para o navegador no Windows e Mac.
Ele é parecido com a extensão The Great Suspender; de fato, uma página do Google Developers diz que “tivemos um ótimo bate-papo com o autor da extensão… e ele está contente de nos ver lidando com este problema de forma nativa”.
Quem não está contente, no entanto, são os usuários. No post do Google Developers, há diversos comentários negativos sobre o descarte de abas.
São pessoas que perderam o trabalho feito no navegador; pessoas que lamentam o alto consumo de dados; e pessoas que tiveram problemas de desempenho (grifo nosso):
Eu perdi uma noite inteira de trabalho porque não salvei meu código em plnkr.co enquanto projetava uma interface de usuário a partir do zero. Não implementem este lixo, ou vocês vão perder muitos usuários.
Isso é muito chato, eu costumo usar chats baseados em Flash ou deixar alguns vídeos carregando e tudo é recarregado, então eu perco tudo, isso também quando estou trabalhando em algum post longo, é realmente irritante
Quando eu abro várias abas de vídeo, o recurso faz com que as páginas sejam recarregadas com frequência, especialmente quando eu abro alguns vídeos do YouTube para carregá-los antes de tocar.
Tudo o que há de ótimo no The Great Suspender foi perdido neste recurso: não há nenhuma forma de especificar em quanto tempo uma aba pode ficar inativa; nenhuma forma de impedir a aba de recarregar automaticamente; e nenhuma forma de sempre permitir que determinadas páginas fiquem na memória.
Isso é mesmo contraproducente. Quando eu seleciono uma aba, isso de repente descarta as outras. Aí abro outra aba, ela precisa ser recarregada, e quando volto à aba anterior, ela precisa ser recarregada mais uma vez… Isso também desperdiça MUITOS, MUITOS DADOS ao recarregar páginas o tempo todo. Por favor, apenas otimizem a forma como o Chrome renderiza páginas da web para reduzir o uso de RAM, em vez de descartar páginas totalmente só para recarregá-las de novo.
Eu amo o Chrome, mas o estado atual deste recurso parece ter essencialmente quebrado o navegador! Isso faz o navegador constantemente congelar e engasgar quando alterno entre abas, e isto não é uma melhoria. Eu também passei por vários casos do Chrome travando completamente o meu computador enquanto ele resolvia o gerenciamento de memória envolvido nisso.
Além disso, o descarte de abas é listado como uma falha do Chrome desde agosto. Não é um recurso, é um bug?
Oficialmente, isto ainda não faz parte da versão estável do Chrome, mas apareceu para mim quando atualizei o navegador – e eu estou na versão estável (48.0.2564.116). Talvez o Google esteja fazendo um teste do recurso entre alguns usuários, para ver como o recurso se sai.
Para mim, foi algo totalmente irritante. Eu tenho 8 GB de RAM e um SSD para a memória swap, então me acostumei a manter diversas abas abertas. Só que elas começaram a sumir da memória sem qualquer ordem aparente: uma página que eu havia acabado de abrir de repente precisava ser recarregada.
Não há nenhum aviso na interface de que a aba foi descartada: isso fica escondido em chrome://discards. Também não existe nenhum controle de como esse recurso funciona – ou ele está ativo, ou não está.
O descarte de abas é ativado por padrão. Para desativá-lo, é preciso ir em chrome://flags/#automatic-tab-discarding e selecionar a opção “Desativado”.
O Google vem fazendo alguns bons esforços para reduzir o consumo de memória no Chrome. Desde o ano passado, ele detecta quando uma página da web não está ocupada com alguma tarefa e executa um “coletor de lixo” para eliminar componentes desnecessários da RAM.
E, quando você reinicia o Chrome, ele recarrega as abas começando pela última que você acessou. Ele não abre todas ao mesmo tempo, e até deixa algumas para carregar depois, economizando memória.
No entanto, o descarte de abas é uma medida agressiva demais, que talvez devesse ficar a cargo do próprio sistema operacional – como é o caso no Chrome OS. Espero que isto não seja implementado no Chrome, pelo menos não na forma atual.
Imagem por geralt/pixabay