You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2026-06-01-front-ends-missing-metric-the-tbt-window.md
+13-2Lines changed: 13 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,7 +151,7 @@ of main thread blocking activity remain mostly unchanged, but the sheer surface
151
151
area being measured is substantially larger:
152
152
153
153
<figure>
154
-
<imgsrc="{{ site.cloudinary }}/wp-content/uploads/2026/06/wpt-02.png"alt="Zoomed WebPageTest main-thread comparison showing broadly similar blocking activity in both traces, but a much longer measured TBT Window after the regression."width="1500"height="489"loading="lazy">
154
+
<imgsrc="{{ site.cloudinary }}/wp-content/uploads/2026/06/wpt-02.png"alt="Zoomed WebPageTest mainthread comparison showing broadly similar blocking activity in both traces, but a much longer measured TBT Window after the regression."width="1500"height="489"loading="lazy">
155
155
<figcaption>The work did not suddenly appear; the metric simply had much more of the timeline available to count.</figcaption>
156
156
</figure>
157
157
@@ -225,6 +225,17 @@ page fails to reach that required network quietness. This is precisely what
225
225
happened here—a network optimisation changed the network profile, TTI moved,
226
226
and the TBT Window grew.
227
227
228
+
Consider also the case of
229
+
a [render-blocking](/2024/08/blocking-render-why-whould-you-do-that/)
230
+
`<script>`. Any long tasks contained within it are, by definition, exempt from
231
+
inclusion in TBT as they fall before FCP. The sensible and worthwhile
232
+
optimisation to [make the script
233
+
asynchronous](/2022/10/speeding-up-async-snippets/#the-new-syntax) will tangibly
234
+
improve milestone timings, but now makes any of those long tasks candidates for
235
+
inclusion in TBT. In other words, speeding up paint timings may negatively
236
+
impact interactivity numbers despite no material change in the amount of main
237
+
thread activity.
238
+
228
239
The long tasks did not get worse, they just became visible to the metric.
229
240
230
241
## Causality Can Run Both Ways
@@ -339,7 +350,7 @@ already seeing.
339
350
340
351
TBT is still a useful lab metric. It is not a replacement for [Interaction to
341
352
Next Paint](https://web.dev/articles/inp/), and it is not a perfect model of
342
-
real-user interactivity, but it remains a very practical way to spot main-thread
353
+
real-user interactivity, but it remains a very practical way to spot mainthread
343
354
contention during page load.
344
355
345
356
Unfortunately, however, I feel it being bounded by the arbitrary definitions of
0 commit comments