---
title: "Main thread is blocked by long tasks during load (perf/tbt-high)"
description: "perf/tbt-high: Long tasks (>50 ms) make taps and typing unresponsive while the page loads."
canonical: https://void-design.vercel.app/rules/perf/tbt-high
lastModified: 2026-09-16
---

# Main thread is blocked by long tasks during load

`perf/tbt-high` · severity **warn** · category Performance · detected by `void perf` and `void audit`

## Why it matters

Long tasks (>50 ms) make taps and typing unresponsive while the page loads. Total Blocking Time is the lab proxy for INP.

## How to fix it

Ship less JavaScript, keep 'use client' at the leaves, defer third-party scripts, and break long work up with scheduler.yield() or setTimeout.

## Example

```
const yieldToMain = () => ('scheduler' in globalThis && 'yield' in scheduler) ? scheduler.yield() : new Promise(r => setTimeout(r, 0));
```

## References

- https://web.dev/articles/optimize-long-tasks

## More performance rules

`void perf` reports 25 rules in this category. Core Web Vitals and bytes: LCP, CLS, TBT, TTFB, JavaScript, CSS, fonts, images, caching and compression, measured as the median of several runs on a throttled mobile and a desktop profile.

- `lcp-slow` Largest Contentful Paint is slow — [perf/lcp-slow](https://void-design.vercel.app/rules/perf/lcp-slow)
- `cls-high` Cumulative Layout Shift is high — [perf/cls-high](https://void-design.vercel.app/rules/perf/cls-high)
- `ttfb-slow` Server response (TTFB) is slow — [perf/ttfb-slow](https://void-design.vercel.app/rules/perf/ttfb-slow)
- `fcp-slow` First Contentful Paint is slow — [perf/fcp-slow](https://void-design.vercel.app/rules/perf/fcp-slow)
- `js-budget` First-load JavaScript exceeds the budget — [perf/js-budget](https://void-design.vercel.app/rules/perf/js-budget)
- `css-budget` CSS transfer exceeds the budget — [perf/css-budget](https://void-design.vercel.app/rules/perf/css-budget)
- `font-budget` Web font transfer exceeds the budget — [perf/font-budget](https://void-design.vercel.app/rules/perf/font-budget)
- `too-many-fonts` Too many font files are downloaded — [perf/too-many-fonts](https://void-design.vercel.app/rules/perf/too-many-fonts)

Detected by `void perf` and `void audit`. Explain it in a terminal: `void rules perf/tbt-high`
