2014-01-06 09:52:27 +0000 2014-01-06 09:52:27 +0000
49
49

Como reduzir a utilização do CPU do Google Chrome?

Comecei a utilizar o Google Chrome (actualizado) no Windows 7 (tudo actualizado) numa instalação limpa que fiz há alguns dias atrás e, em comparação com o Firefox, estou a ver enormes picos de CPU (até 100% de utilização de CPU) quando abro empty tabs. Tentei desligar funcionalidades como predicação de rede e etc. sem qualquer efeito.

Existe alguma forma de reduzir a quantidade de utilização de CPU pelo Chrome?

Aqui está uma coisa estranha que me incomoda: quando estou a reproduzir vídeo/áudio do YouTube (tanto a versão flash como a versão HTML5) quando clico no botão mais no topo para abrir algumas janelas novas, faz com que o vídeo/áudio fique atrasado. Não sinto nada de semelhante quando uso Firefox. O mais estranho é que isso também não acontece quando abro as novas páginas num outro perfil cromado ou em navegação privada. Alguma ideia do porquê de isto estar a acontecer? Não é suposto estas páginas serem mantidas nos seus processos separados? Porquê a diferença entre abri-las num outro perfil e no mesmo perfil?

Respostas (4)

49
49
49
2014-01-06 10:22:16 +0000

Primeiro, verificar se não são extensões ou plugins, ou alguns trabalhadores de fundo que um site utiliza (para abrir o Chrome Task Manager, prima Shift+Esc ou Menu → Mais ferramentas → Task Manager).

Se não for, então o meu palpite é que isto está relacionado com a aceleração do hardware. Mas note-se que não vejo esta causa há anos, definitivamente não desde o Windows 8.

Primeiro, desligue a aceleração de hardware no fundo da página de definições principais (clique em Mostrar definições avançadas… no fundo de chrome://settings, role até ao fim, desmarque Utilizar aceleração de hardware quando disponível). Versões recentes do Chrome pedem para reiniciar, mas pela minha experiência esta opção é aplicada imediatamente, pelo menos parcialmente.

Se os slowdowns não desaparecerem mesmo após o reinício do Chrome, abra chrome://flags (coloque isto na barra de endereços do Chrome e prima Enter) e configure o seguinte:

  • Desactivar tela 2D acelerada - Desactivar
  • GPU rasterização - Desactivar
  • Descodificação de vídeo acelerada por hardware - Desactivar
  • Zero-copy rasterizer - Desactivar

(isto foi para o Chrome 53.0.2785. 89, outras opções podem estar disponíveis em sistemas mais antigos, onde o Chrome não actualiza, por exemplo:

  • Desactivar DirectWrite - Activar
  • Activar rasterizador de cópia única - Desactivar
  • Activar rasterizador de cópia zero - Desactivar
  • Desactivar descodificador de vídeo acelerado por hardware - Activar

)

depois clique em Relaunch now no fundo da janela.

Se tudo ficar bem (mas um pouco mais lento no geral, talvez), pode voltar a mudar as opções por defeito uma a uma até encontrar uma que cause o problema.

(se não encontrar uma opção na lista de bandeiras, salte-a. Talvez também procure outras opções sobre aceleração de GPU e hardware e certifique-se de que a aceleração HW e a utilização de GPU estão desactivadas. O Chrome recebe actualizações com bastante frequência, e as bandeiras são adicionadas e removidas em quase todas as versões).

Respostas às perguntas:

Existe alguma forma de reduzir a quantidade de utilização de CPU pelo Chrome?

& se estes picos causados pelo motor cromado nativo (JavaScript ou analisador HTML, por exemplo), então não. Mas o mais provável é que se trate de extensões ou de buggy videodrivers (as suas funções estão a ser utilizadas para aceleração de hardware).

quando clico no botão mais no topo para abrir algumas novas janelas, faz com que o vídeo/áudio fique atrasado. <Alguma ideia do porquê disto estar a acontecer?

& apenas palpites. Quer Extensão ou plugin pode causar isto, ou adicionar outra camada à janela composta provoca o atraso do videodriver (composta - janela com várias camadas, e algumas delas renderizadas por hardware, por exemplo, por descodificação de vídeo por hardware). Foi por isso que sugeri desligar a aceleração e verificação do hardware.

Estas páginas não devem ser mantidas nos seus processos separados?

são de facto mantidas, mas existe um processo principal (por perfil) que produz informação para janela. Se este processo parar por alguma razão, as actualizações da janela vão parar, e vai parecer que o Cromo não está a responder. Acho que a saída de som também é feita através desse processo principal, e é por isso que o som também se atrasa.

Pode verificar a árvore do processo com Process Explorer .

& > Porquê a diferença entre abri-los noutro perfil e no mesmo perfil?

As Extensões e a configuração Plugin são por perfil, e as Extensões são desligadas por defeito no modo Incognito. É por isso que se pode comportar de forma diferente com perfis diferentes (mesmo com um único processo cromado principal).

2
2
2
2015-02-11 19:11:03 +0000

Reiniciar o Google Chrome:

  1. Clique no menu Chrome na barra de ferramentas e depois clique em “Settings”.

  2. Seleccione “Show Advanced Settings” no fundo da página e depois clique em “Reset Browser Settings”.

  3. Clique em “Reiniciar” para reverter a configuração do seu navegador para a configuração padrão.

1
1
1
2015-03-16 01:36:25 +0000

Um truque que aprendi em alguns sites:

  • Use –-purge-memory-button na linha de comando do Chrome e clique em Purge memory no gestor de tarefas do Chrome e irá libertar memória (se possível)

Obviamente, basta desactivar extensões e isso irá poupar-lhe também memória.

Também, alguns sites mencionaram FooTab , uma extensão que faz uma pausa em todas as outras extensões ao arrancar até serem carregadas.

0
0
0
2014-05-17 22:45:34 +0000

Abra chrome://flags e procure delegated renderer e veja se consegue activar a bandeira para activar o renderizador delegado, também conhecido como Übercompositor. Também deve ter a certeza de ter activado a renderização acelerada, uma vez que esta depende da GPU. Pode verificar isto no chrome://gpu url.

O que isto faz é fazer com que o processo de renderização salte a etapa de composição e envie comandos de desenho de alto nível para o processo de navegação, fundindo-o com o seu próprio passe de composição. Isto reduz a taxa de enchimento da GPU, e uma óptima forma de ajudar a reduzir a potência utilizada.