Fecha de publicación: 7 de noviembre de 2019; última actualización: 15 de octubre de 2025
¿Qué es TBT?
La métrica de Tiempo de bloqueo total (TBT) mide la cantidad total de tiempo después del Primer procesamiento de imagen con contenido (FCP) durante el cual el subproceso principal se bloqueó durante el tiempo suficiente para evitar la respuesta de la entrada.
De forma predeterminada, Lighthouse deja de supervisar el TBT después del Time to Interactive (TTI), al igual que otras herramientas de lab que miden la carga de la página. Consulta ¿Cómo se relaciona el TBT con el TTI?.
El subproceso principal se considera "bloqueado" cada vez que hay una tarea larga, es decir, una tarea que se ejecuta en el subproceso principal durante más de 50 milisegundos. Decimos que el subproceso principal está "bloqueado" porque el navegador no puede interrumpir una tarea en curso. Por lo tanto, en el caso de que un usuario interactúe con la página en medio de una tarea larga, el navegador debe esperar a que finalice la tarea antes de poder responder.
Si la tarea es lo suficientemente larga (más de 50 milisegundos), es probable que el usuario note la demora y perciba la página como lenta o dañada.
El tiempo de bloqueo de una tarea larga determinada es su duración superior a 50 milisegundos. El tiempo de bloqueo total de una página es la suma del tiempo de bloqueo de cada tarea larga que se produce después del FCP durante el período medido (por lo general, el TTI para las herramientas de carga de páginas o el tiempo total de la traza para otras herramientas).
Por ejemplo, considera el siguiente diagrama del subproceso principal del navegador durante la carga de la página:
La línea de tiempo que se muestra en la imagen anterior tiene cinco tareas, tres de las cuales son tareas largas porque su duración supera los 50 milisegundos. En el siguiente diagrama, se muestra el tiempo de bloqueo de cada una de las tareas largas:
Por lo tanto, si bien el tiempo total dedicado a ejecutar tareas en el subproceso principal es de 560 milisegundos, solo 345 milisegundos de ese tiempo se consideran tiempo de bloqueo.
Duración de la tarea (milisegundos) | Tiempo de bloqueo de la tarea (en milisegundos) | |
---|---|---|
Tarea uno | 250 | 200 |
Tarea dos | 90 | 40 |
Tarea tres | 35 | 0 |
Tarea cuatro | 30 | 0 |
Tarea cinco | 155 | 105 |
Tiempo de bloqueo total | 345 milisegundos |
¿Cómo se relaciona el TBT con el INP?
El TBT es anterior al INP y es útil como indicador de problemas de INP, en especial en el entorno de laboratorio, donde es más difícil medir el INP. Sin embargo, la TBT puede marcar posibles problemas en los que no haya inconvenientes para los usuarios si no interactúan en ese momento. Además, puede pasar por alto los problemas causados por las interacciones cuando se miden en el entorno de laboratorio. Recomendamos medir el INP en el campo como una medida de los problemas reales de respuesta que experimentan los usuarios. El TBT puede ser una métrica de proxy razonable para el INP en el laboratorio, pero no es un sustituto del INP en sí mismo.
¿Cómo se relaciona el TBT con el TTI?
El TBT se mide durante un período. En algunas herramientas de lab que tradicionalmente miden las cargas de páginas, como Lighthouse, el TBT se mide hasta el TTI porque ayuda a cuantificar la gravedad de la falta de interactividad de una página antes de que se vuelva interactiva de manera confiable. Sin embargo, el TBT también se podría seguir midiendo después de la carga de la página y, por lo tanto, más allá del TTI, por ejemplo, en el modo Intervalo de Lighthouse.
El TTI considera que una página es "interactiva de forma confiable" si el subproceso principal no tuvo tareas largas durante al menos cinco segundos. Esto significa que tres tareas de 51 ms distribuidas en 10 segundos pueden retrasar el TTI tanto como una sola tarea de 10 segundos, pero esos dos casos serían muy diferentes para un usuario que intenta interactuar con la página.
En el primer caso, tres tareas de 51 ms tendrían un TBT de 3 milisegundos. Mientras que una sola tarea de 10 segundos tendría un TBT de 9, 950 milisegundos. El valor más alto del TBT en el segundo caso cuantifica la peor experiencia.
En este ejemplo, se muestra por qué el TBT suele ser una mejor métrica que el TTI, ya que es menos propenso a los valores atípicos. Esto sucede incluso cuando el TTI se usa como el extremo del TBT.
Cómo medir el TBT
El TBT es una métrica que se debe medir en el lab. La mejor manera de medir el TBT es ejecutar una auditoría de rendimiento de Lighthouse en tu sitio. Consulta la documentación de Lighthouse sobre el TBT para obtener detalles sobre el uso.
Es posible medir el TBT en el campo, pero no lo recomendamos, ya que la interacción del usuario puede afectar el TBT de tu página de maneras que generen mucha varianza en tus informes. En su lugar, te recomendamos que consultes la API de Long Animations Frame más reciente en el campo si deseas analizar más allá de una sola interacción de la INP.
Herramientas de laboratorio
¿Qué es una buena puntuación de TBT?
Para proporcionar una buena experiencia del usuario, los sitios deben esforzarse por tener un tiempo de bloqueo total inferior a 200 milisegundos cuando se prueban en hardware móvil promedio.
Para obtener detalles sobre cómo el TBT de tu página afecta la puntuación de rendimiento de Lighthouse, consulta Cómo Lighthouse determina tu puntuación de TBT.
Cómo mejorar el TBT
En general, recomendamos optimizar el INP en lugar del TBT, ya que recomendamos usar el TBT como métrica proxy del INP en el laboratorio (donde, por lo general, no se puede medir el INP con precisión). Por lo tanto, para mejorar el TBT, consulta nuestra guía para optimizar el INP.
Si te enfocas específicamente en el TBT, puedes ejecutar una auditoría de rendimiento de Lighthouse y prestar atención a las oportunidades específicas que sugiere la auditoría.
En general, mejorar el TBT de un sitio implica reducir la cantidad de secuencias de comandos de bloqueo, lo que significa optimizarlas para que bloqueen menos o reducir la cantidad de secuencias de comandos en general. Consulta las siguientes guías de rendimiento: