O Google Chrome trava brevemente antes de renderizar uma nova guia

9

Sempre que eu quiser mudar para uma guia diferente da que está sendo renderizada, o Chrome trava por cerca de 2 segundos antes de renderizar a nova guia. Isso ocorre sempre que uma nova guia precisa ser exibida, como clicar no botão "Nova guia" ou fechar a guia atual.

Aqui estão as informações da minha versão:

Google Chrome 14.0.835.163 (versão oficial 101024)

Sistema operacional: Linux (Ubuntu 11.04)

WebKit 535.1 (ramos / cromo / 835 @ 94713)

A única extensão que eu uso é o AdBlock, e desativá-lo não teve efeito.

Isso só ocorre comigo desde que atualizei para a versão mais recente do Chrome.

Alguma idéia do que está acontecendo?

Alex Dias
fonte
Você tentou desativar a página "Nova guia" padrão? Você pode fazer isso com a extensão "Nova guia redirecionada" . Tente alterá-lo para about:blank. Isso faz alguma diferença?
Duijf 19/09/11
Não tenho certeza se fui claro. Isso acontece mesmo que eu tenha duas guias abertas, digamos uma no www.google.com e outra no www.youtube.com, e eu quero mudar de uma para a outra (também, o problema não depende do conteúdo das guias: posso ter duas guias sobre about: version e alternar entre elas causa o atraso).
Alex Dias
Até onde pude ver, não havia relatórios de erros sobre esse problema. Poderia ser um aplicativo conflitante?
Duijf 19/09/11
Talvez, mesmo que isso ocorra também quando não há muito mais em execução. Pouco antes de atualizar o Chrome (que causou o problema), instalei o gcc-4.4, g ++ - 4.4 e suas dependências (fornecendo duas versões do gcc e do g ++: 4.4 e 4.5). No entanto, fazer isso em um CD ao vivo não causou problemas, então acho que as duas versões instaladas do gcc e g ++ não são o que está causando o problema. Além disso, acabei de instalar o Chromium e o problema não existe lá.
Alex Dias
Curiosamente, isso começou a acontecer comigo agora, ao atualizar para uma nova versão em 13/04/2012. Agora isso acontece com versões estáveis, instáveis ​​e beta. Vejo muitos outros relatórios intermitentes de bugs sobre esse assunto, mas não há respostas reais. Vou continuar as investigações.
Daniel Andersson

Respostas:

4

Eu encontrei um comportamento semelhante com guias que não eram mais (pré) renderizadas em segundo plano e às vezes nem mesmo quando mostradas na frente. Felizmente, lembrei-me de ter ativado o GPU-Compositing em about: flags (que funcionou bem até uma ou duas semanas atrás). Desmarcá-lo novamente resolveu esse problema.

Maximilian Jänicke
fonte
Estranho, isso REALMENTE acelerou o processo de renderização no Chrome.
mowwwalker
1

Eu agora também localizei outro problema libcairo2atualmente no Debian Sid. Veja o bug Debian # 682308 .

Com isso cairo-1.12.0, ocorre um erro de regressão que faz com que a troca de guias e a abertura de novas guias no Google Chrome e no Chromium parem significativamente e aumentem xorgo uso da CPU.

Três soluções alternativas diferentes são mencionadas no relatório de erros, aguardando uma correção upstream:

  • Corrida

    nvidia-settings -a InitialPixmapPlacement=0
    
  • Fixando o pacote à versão 1.10.2-7.
  • Construindo recentes libcairocom a alteração de patches src/cairo-xlib-display.c, configurando display->buggy_gradientspara ser sempre TRUE(de um post nos fóruns Debian ) (considere fixá-lo também, caso futuras libcairo2atualizações ainda não tenham a correção).

Isso finalmente resolveu meus problemas.

ATUALIZAR

Supostamente, isso foi corrigido no driver Nvidia 304.30, lançado em 30/07/2012. No changelog (ainda não está online, devido ao NvNews recentemente ter sido hackeado recentemente e a própria página da Nvidia não hospedar o changelog especificamente, mas está dentro do pacote binário que eles fornecem):

- Fixed a problem where RENDER Glyphs operations would exhibit severe
  performance issues in certain cases, such as when used with gradients
  by Cairo and Chromium.

ATUALIZAÇÃO 2

... e agora esta versão do driver atingiu o Debian Instável, pelo menos.

Daniel Andersson
fonte
0

Como as guias do Google Chrome são trapezoidais, elas usam uma função específica no driver chamada "aceleração trapezoidal", suportada no hardware pelos circuitos Nvidia mais recentes .

Em circuitos antigos sem esse suporte, havia um bug que aparecia em conjunto com as atualizações para o X.org 1.11 (onde eu acho que o X.org começou a suportar renderização trapezoidal direta) o que tornou a renderização trapezoidal muito mais lenta do que deveria ser (muito mais lento do que era com as combinações anteriores de driver / servidor X.org). Eu corro uma GeForce 9400, que é um dos circuitos afetados.

O relatório de erros do Debian .

O driver da Nvidia corrige o anúncio em 290.03 .

Pessoalmente, eu tive esse problema com as versões mais recentes da Nvidia (295.40), que persistiram durante a reinicialização, mas, por algum motivo, apenas o lançamento foi nvidia-settingscorrigido.

O Chrome ainda é muito mais lento do que, por exemplo, o Opera na troca e criação de guias na minha máquina, mas não causa mais atrasos de vários segundos. Pelo que sei, está de volta à velocidade anterior à introdução do bug.


EDIT: Esta informação é tão verdadeira quanto antes, mas houve um erro adicional que afetou todas as placas Nvidia. Veja minha outra resposta para mais informações.

Daniel Andersson
fonte