Tempo total de bloqueio (TBT)

Publicado em 7 de novembro de 2019. Última atualização: 15 de outubro de 2025

O que é TBT?

A métrica Tempo total de bloqueio (TBT) mede o tempo total após a First Contentful Paint (FCP) em que a linha de execução principal foi bloqueada por tempo suficiente para impedir a capacidade de resposta da entrada.

Por padrão, o Lighthouse para de monitorar o TBT após o Tempo até a interação (TTI), assim como outras ferramentas de laboratório que medem o carregamento da página. Consulte Como o TBT se relaciona com o TTI?.

A linha de execução principal é considerada "bloqueada" sempre que há uma tarefa longa, ou seja, uma tarefa que é executada na linha de execução principal por mais de 50 milissegundos. Dizemos que a linha de execução principal está "bloqueada" porque o navegador não pode interromper uma tarefa em andamento. Assim, caso um usuário interaja com a página no meio de uma tarefa longa, o navegador vai precisar esperar que ela termine antes de responder.

Se a tarefa for longa o suficiente (mais de 50 milissegundos), é provável que o usuário perceba o atraso e considere a página lenta ou quebrada.

O tempo de bloqueio de uma determinada tarefa longa é a duração dela que excede 50 milissegundos. O tempo total de bloqueio de uma página é a soma do tempo de bloqueio de cada tarefa longa que ocorre após o FCP no período medido (geralmente TTI para ferramentas de carregamento de página ou o tempo total de rastreamento para outras ferramentas).

Por exemplo, considere o diagrama a seguir da linha de execução principal do navegador durante o carregamento da página:

Uma linha do tempo de tarefas na linha de execução principal
Uma linha do tempo de tarefas na linha de execução principal.

A linha do tempo mostrada na imagem anterior tem cinco tarefas, três delas são tarefas longas porque a duração excede 50 milissegundos. O diagrama a seguir mostra o tempo de bloqueio de cada uma das tarefas longas:

Uma linha do tempo de tarefas na linha de execução principal mostrando o tempo de bloqueio.
As mesmas tarefas, com os tempos de bloqueio marcados.

Portanto, embora o tempo total gasto na execução de tarefas na linha de execução principal seja de 560 milissegundos, apenas 345 milissegundos desse tempo são considerados tempo de bloqueio.

Duração da tarefa (milissegundos) Tempo de bloqueio da tarefa (milissegundos)
Tarefa 1 250 200
Tarefa 2 90 40
Tarefa 3 35 0
Tarefa 4 30 0
Tarefa 5 155 105
Tempo total de bloqueio 345 milissegundos

Como o TBT se relaciona com o INP?

O TBT é anterior ao INP e é útil como um indicador de problemas de INP, principalmente no ambiente de laboratório, onde a medição do INP é mais difícil. No entanto, o TBT pode sinalizar possíveis problemas quando não há problemas para os usuários, se eles não interagirem naquele momento. Ele também pode perder problemas causados por interações quando medidos no ambiente de laboratório. Recomendamos medir a INP no campo como uma medida de problemas reais de capacidade de resposta, conforme vivenciados pelos usuários. O TBT pode ser uma métrica de proxy razoável para o INP no laboratório, mas não é um substituto para o INP por si só.

Como o TBT se relaciona com o TTI?

O TBT é medido durante um período. Para algumas ferramentas de laboratório que tradicionalmente medem carregamentos de página, incluindo o Lighthouse, o TBT é medido até o TTI porque ajuda a quantificar a gravidade de quanto uma página é não interativa antes de se tornar interativa de forma confiável. No entanto, o TBT também pode continuar sendo medido após o carregamento da página e, portanto, além do TTI, por exemplo, no modo de período do Lighthouse.

O TTI considera uma página "interativa de forma confiável" se a linha de execução principal estiver livre de tarefas longas por pelo menos cinco segundos. Isso significa que três tarefas de 51 ms distribuídas em 10 segundos podem atrasar o TTI tanto quanto uma única tarefa de 10 segundos, mas esses dois cenários seriam muito diferentes para um usuário tentando interagir com a página.

No primeiro caso, três tarefas de 51 ms teriam um TBT de 3 milissegundos. Já uma única tarefa de 10 segundos teria um TBT de 9.950 milissegundos. O maior valor de TBT no segundo caso quantifica a pior experiência.

Este exemplo mostra por que o TBT costuma ser uma métrica melhor do que o TTI, já que é menos propenso a outliers. Isso acontece mesmo quando o TTI é usado como endpoint para o TBT.

Como medir o TBT

O TBT é uma métrica que precisa ser medida no laboratório. A melhor maneira de medir o TBT é executar uma auditoria de performance do Lighthouse no seu site. Consulte a documentação do Lighthouse sobre TBT para detalhes de uso.

É possível medir o TBT em campo, mas não recomendamos isso porque a interação do usuário pode afetar o TBT da página de maneiras que levam a muita variância nos seus relatórios. Em vez disso, recomendamos usar a API Long Animations Frame no campo se quiser analisar além de uma única interação INP.

Ferramentas de laboratório

O que é uma boa pontuação de TBT?

Para oferecer uma boa experiência ao usuário, os sites devem ter um tempo total de bloqueio inferior a 200 milissegundos quando testados em hardware móvel médio.

Para detalhes sobre como o TBT da sua página afeta a pontuação de desempenho do Lighthouse, consulte Como o Lighthouse determina sua pontuação de TBT.

Como melhorar o TBT

Em geral, recomendamos otimizar para INP em vez de TBT, já que o TBT é uma métrica substituta para INP no laboratório (onde o INP geralmente não pode ser medido com precisão). Portanto, para melhorar o TBT, consulte nossas orientações sobre como otimizar a INP.

Se você estiver analisando especificamente o TBT, execute uma auditoria de performance do Lighthouse e preste atenção a oportunidades específicas sugeridas pela auditoria.

Em geral, melhorar o TBT de um site envolve reduzir a quantidade de scripts de bloqueio, o que significa otimizá-los para serem menos bloqueadores ou reduzir a quantidade de scripts no geral. Consulte os seguintes guias de performance: