Tarefas longas da thread principal
O Silktide carrega as suas páginas num navegador real e regista as tarefas mais longas que ocupam o navegador durante o carregamento da página. Esta lista mostra quais scripts mantiveram a página ocupada e durante quanto tempo, começando pela tarefa mais longa.
Por que isto é importante
Um navegador realiza a maior parte do seu trabalho — executar scripts, construir a página e responder às interações — numa única . Enquanto uma tarefa está em execução, nada mais pode acontecer: os cliques, toques e a deslocação congelam até que ela termine. As tarefas com mais de 50 milissegundos são suficientemente longas para serem notadas, e por isso são chamadas tarefas longas. Esta lista mostra exatamente de onde vem esse tempo de congelamento.
Como corrigir
Esta é uma lista informativa, não uma verificação de aprovação/reprovação. Use-a para encontrar os seus scripts mais dispendiosos e, depois, considere o seguinte para cada um:
- Pode ser removido ou substituído por algo mais leve? Os scripts de terceiros são frequentemente responsáveis por este problema — consulte código de terceiros.
- Pode ser executado mais tarde, depois de a página estar interativa, ou apenas quando necessário através do ?
- O trabalho pode ser dividido em partes menores ou transferido da thread principal para um web worker?
Como o Silktide testa isto
- Carregar a página num navegador real e registar todas as tarefas da thread principal que demorem mais de 50 milissegundos.
- Atribuir cada tarefa ao script responsável, sempre que possível.
- Listar as tarefas com as respetivas durações, começando pela mais longa. As tarefas com mais de 100 milissegundos são destacadas como mais graves.