O Chrome se comporta de maneira diferente quando bloqueado ou em segundo plano

1

O navegador chrome se comporta de maneira diferente quando o computador está bloqueado ou a janela não está em primeiro plano? Estou percebendo que o carregamento da página é mais lento nesses casos de uso no Windows.

Em caso afirmativo, isso pode ser desativado por meio de qualquer sinalizador?

    
por GeorgeU 01.03.2012 / 18:13

2 respostas

1

A resposta simples é não. O Google Chrome não se comporta de maneira diferente quando o computador está bloqueado ou o navegador não está em tela cheia.

A resposta um pouco mais longa é que, quando a tela está bloqueada, o usuário ainda está conectado e todos os aplicativos do usuário continuam sendo executados normalmente, mas na área de trabalho do usuário, e não na área de trabalho protegida. Todos os eventos de desenho são curtos para evitar o desperdício de quadros de desenho da CPU que não serão exibidos, mas nada mais acontece do que o Google Chrome verá.

Um outro recurso da execução em segundo plano é que os segmentos obtêm timeslices menores quando não estão em primeiro plano - um recurso deliberado no Windows porque uma redução de 5% em um thread em primeiro plano pode fazer o sistema parecer lento, enquanto 5% desaceleração em um processo em segundo plano é geralmente imperceptível.

No Windows, esse mesmo princípio também se aplica à rede e à latência de disco. Threads em primeiro plano recebem prioridade para operações de rede enfileiradas, portanto, se trinta segmentos quiserem realizar pesquisas de DNS (como pode ser o caso se você abrir vários novos separadores no Chrome), os que ocorrerem primeiro serão os da guia você está olhando.

Uma combinação de todos esses fatores significa que quando o Google Chrome não está em primeiro plano (por exemplo, porque outra coisa está ou a máquina está bloqueada) e outras coisas estão acontecendo no sistema, o Google Chrome pode ter um desempenho menos do que se estivesse em primeiro plano.

Por fim, o Windows é inteligente e tenta tornar sua experiência de usuário menos lenta, não o Google Chrome fazendo algo diferente.

    
por 05.03.2012 / 22:32
0

Sim, o Chrome define uma prioridade muito menor para as guias de plano de fundo.

Se uma janela inteira estiver em segundo plano, todas as guias também estarão em segundo plano. O JavaScript nas guias é processado apenas uma vez a cada 1 ou 2 segundos (não me lembro qual). Esse atraso é codificado permanentemente em uma constante no código-fonte do Chromium. Você precisaria recompilar o Chromium para dar mais prioridade às guias de plano de fundo.

Eu sei porque eu olhei para ele. Eu queria que um JavaScript fosse executado em segundo plano e acionado a cada centena de milissegundos, mas depois que a guia ficava em segundo plano um pouco, os timers eram acionados apenas uma vez a cada 1 ou 2 segundos.

    
por 08.05.2014 / 00:38