Publié le 7 novembre 2019, dernière mise à jour le 15 octobre 2025
Qu'est-ce que TBT ?
La métrique "Temps de blocage total" (TBT) mesure la durée totale après le First Contentful Paint (FCP) où le thread principal a été bloqué suffisamment longtemps pour empêcher la réactivité aux entrées.
Par défaut, Lighthouse arrête de surveiller le TBT après le Time to Interactive (TTI), tout comme certains autres outils de laboratoire qui mesurent le chargement de la page. Consultez Quel est le rapport entre TBT et TTI ?
Le thread principal est considéré comme "bloqué" chaque fois qu'une longue tâche (une tâche qui s'exécute sur le thread principal pendant plus de 50 millisecondes) est en cours. On dit que le thread principal est "bloqué" parce que le navigateur ne peut pas interrompre une tâche en cours. Ainsi, si un utilisateur interagit avec la page au milieu d'une longue tâche, le navigateur doit attendre que la tâche se termine avant de pouvoir répondre.
Si la tâche est suffisamment longue (plus de 50 millisecondes), il est probable que l'utilisateur remarque le délai et perçoive la page comme lente ou défectueuse.
Le temps de blocage d'une tâche longue donnée correspond à sa durée au-delà de 50 millisecondes. Le temps de blocage total d'une page correspond à la somme du temps de blocage de chaque tâche longue qui se produit après le FCP pour la période mesurée (généralement le TTI pour les outils de chargement de page ou le temps de trace total pour les autres outils).
Par exemple, examinons le diagramme suivant du thread principal du navigateur lors du chargement de la page :
La chronologie illustrée dans l'image précédente comporte cinq tâches, dont trois sont des tâches longues, car leur durée dépasse 50 millisecondes. Le diagramme suivant montre le temps de blocage pour chacune des tâches longues :
Ainsi, bien que le temps total passé à exécuter des tâches sur le thread principal soit de 560 millisecondes, seules 345 millisecondes de ce temps sont considérées comme du temps de blocage.
Durée de la tâche (en millisecondes) | Temps de blocage des tâches (en millisecondes) | |
---|---|---|
Tâche 1 | 250 | 200 |
Tâche 2 | 90 | 40 |
Tâche 3 | 35 | 0 |
Tâche 4 | 30 | 0 |
Tâche 5 | 155 | 105 |
Total Blocking Time | 345 millisecondes |
Quel est le lien entre le TBT et l'INP ?
Le TBT est antérieur à l'INP et est utile comme indicateur des problèmes d'INP, en particulier dans l'environnement de laboratoire où la mesure de l'INP est plus difficile. Toutefois, le TBT peut signaler des problèmes potentiels alors qu'il n'y en a pas pour les utilisateurs s'ils n'interagissent pas à ce moment-là. Il peut également passer à côté de problèmes causés par des interactions lorsqu'il est mesuré dans l'environnement de test. Nous vous recommandons de mesurer l'INP sur le terrain pour évaluer les problèmes de réactivité réels rencontrés par les utilisateurs. Le TBT peut être une métrique proxy raisonnable pour l'INP en laboratoire, mais il ne remplace pas l'INP en soi.
Quel est le rapport entre le TBT et le TTI ?
Le TBT est mesuré sur une période donnée. Pour certains outils de laboratoire qui mesurent traditionnellement les chargements de page, y compris Lighthouse, le TBT a été mesuré jusqu'au TTI, car il permet de quantifier le degré de non-interactivité d'une page avant qu'elle ne devienne réellement interactive. Toutefois, le TBT peut également continuer à être mesuré après le chargement de la page et donc au-delà du TTI, par exemple en mode "Timespan" de Lighthouse.
Le TTI considère qu'une page est "fiablement interactive" si le thread principal n'a pas été occupé par des tâches longues pendant au moins cinq secondes. Cela signifie que trois tâches de 51 ms réparties sur 10 secondes peuvent repousser le TTI autant qu'une seule tâche de 10 secondes. Toutefois, ces deux scénarios seraient très différents pour un utilisateur qui tente d'interagir avec la page.
Dans le premier cas, trois tâches de 51 ms auraient un TBT de 3 millisecondes. Une tâche unique de 10 secondes aurait un TBT de 9 950 millisecondes. La valeur TBT plus élevée dans le deuxième cas quantifie la dégradation de l'expérience.
Cet exemple montre pourquoi le TBT est souvent une meilleure métrique que le TTI, car il est moins sujet aux valeurs aberrantes. C'est le cas même lorsque le TTI est utilisé comme point de terminaison pour le TBT.
Mesurer le TBT
Le TBT est une métrique qui doit être mesurée en laboratoire. Le meilleur moyen de mesurer le TBT est d'effectuer un audit des performances Lighthouse sur votre site. Pour en savoir plus sur l'utilisation, consultez la documentation Lighthouse sur le TBT.
Il est possible de mesurer le TBT sur le terrain, mais nous ne le recommandons pas, car l'interaction utilisateur peut affecter le TBT de votre page de manière à entraîner une grande variance dans vos rapports. Nous vous conseillons plutôt de consulter la nouvelle API Long Animations Frame in the field si vous souhaitez examiner plusieurs interactions INP.
Outils de laboratoire
Qu'est-ce qu'un bon score TBT ?
Pour offrir une expérience utilisateur de qualité, les sites doivent s'efforcer de ne pas dépasser un temps de blocage total de 200 millisecondes lorsqu'ils sont testés sur du matériel mobile moyen.
Pour savoir comment le TBT de votre page affecte votre score de performances Lighthouse, consultez Comment Lighthouse détermine votre score TBT.
Améliorer le temps de réponse
En général, nous recommandons d'optimiser l'INP plutôt que le TBT, car nous recommandons d'utiliser le TBT comme métrique proxy pour l'INP en laboratoire (où l'INP ne peut généralement pas être mesuré avec précision). Par conséquent, pour améliorer le TBT, consultez nos conseils sur l'optimisation de l'INP.
Si vous vous intéressez plus particulièrement au TBT, vous pouvez effectuer un audit des performances Lighthouse et prêter attention aux opportunités spécifiques suggérées par l'audit.
En général, pour améliorer le TBT d'un site, il faut réduire le nombre de scripts bloquants. Cela signifie soit les optimiser pour qu'ils soient moins bloquants, soit réduire le nombre de scripts globalement. Consultez les guides sur les performances suivants :