Estou procurando conselhos sobre onde procurar possíveis causas da seguinte situação:
O uso da CPU do meu jogo de navegador JavaScript favorito (https://grepolis.com) é muito alto quando ocioso. Quando nenhuma entrada é feita, literalmente não há animação visível (apenas alguns números mudam a cada alguns segundos).
As ferramentas de desenvolvedor web integradas (Shift-F5) exibem uma sequência de requestAnimationFrame
e Recalculate Style
, repetida uma vez por quadro (60 fps). Ambas as chamadas mostram um uso de CPU inferior a 0,1 ms cada na maioria das ocorrências. Isso perfaz cerca de dez milissegundos por segundo, ou 1% de uso da CPU. Não há atividade de rede por mais de um minuto.
Mas o uso real da CPU visível no gerenciador de tarefas ou no explorador de processos é de cerca de 75% de um núcleo de CPU (44 segundos de tempo de CPU adicional usado em um minuto). Não há nenhum contêiner de plug-in carregado - a atividade está no processo principal do Firefox (sem flash ou outro plug-in). De acordo com o Process Explorer, o thread ativo tem um endereço inicial na firefox.exe!GetHandleVerifier
pesquisa do Google que não fornece alguma explicação. As pilhas de chamadas exibidas no Process Explorer para este thread parecem muito diferentes a cada vez, portanto não reconheci semelhanças.
Ao mudar para outra aba do navegador e minimizar a janela do Firefox, o uso da CPU reduz para 14% de um núcleo de CPU (8 s de tempo de CPU por minuto), então estou convencido de que o uso da CPU é causado pelos vários megabytes de código JavaScript do aquele jogo que é grande demais para ser lido.
Como posso encontrar a causa raiz do uso da CPU, ou seja, encontrar o componente responsável pelo uso da CPU?
O problema independe da versão do navegador (mesmo comportamento há anos) e piora com o tempo de execução. O recarregamento da página relaxa a situação, mas não a resolve (o uso da CPU ainda é alto, apesar do aplicativo estar ocioso). Há memória suficiente disponível e estou usando a versão de 64 bits, mas não encontrei diferença na versão de 32 bits. Ganhe 7 Profissional. Não verifiquei outros sistemas operacionais ou navegadores.
Este jogo é o único site em que não tenho uso claro da CPU: todos os outros sites que uso consomem CPU apenas quando ativos.