Scheduling API use

How the page schedules main-thread work: scheduler.yield / postTask vs setTimeout churn.

Field data PhoneDesktopAll Scope All sites Q2 2026 edition · Phone field outcomes
Metric LCP INP CLS
1

At a glance the headline numbers for Scheduling API use

How the page schedules main-thread work: scheduler.yield / postTask vs setTimeout churn.

6
Categories
In the distribution
47.3%
Fleet share
Top: setTimeout
Sites with any
Of setTimeout

2.1% of scheduling calls use scheduler.yield. 47.3% chunk work with setTimeout.

The State of Web Vitals · Q2 2026 · 189,915 sites · phone field datacorewebvitals.io/state-of-cwv
2

The scheduling API use mix who uses what, and how fast each group loads

VariantShare of requestsMedian
SetTimeout
47%
Raf
46%
RequestIdleCallback
3%
Scheduler yield
2%
SetInterval
1%
PostTask
0%

Scheduling API use. On the fleet: 47.3% settimeout, 46.4% raf, 3.4% requestidlecallback.

By count setTimeout leads (47.3%); by bytes it is postTask (0.0%). computed

The State of Web Vitals · Q2 2026 · 189,915 sites · phone field datacorewebvitals.io/state-of-cwv
3

Passing LCP per bucket every category and count level at once - color is the pass rate

1
2
3
4
5
6
7
8
9
10
11
12
SetTimeout 47.3%
88
82
79
77
75
73
72
70
70
68
69
66
Raf 46.4%
84
79
77
80
81
79
77
74
73
72
72
68
RequestIdleCallback 3.4%
82
81
77
76
77
72
75
86
83
82
81
76
Scheduler yield 2.1%
81
89
SetInterval 0.8%
85
82
80
79
77
77
77
77
73
75
77
67
PostTask 0%
82
89
← few of this category on the pagemany →
60%95%+ of sites passing LCP Faded cells: under 100 sites

Each row is a category, each column its own count bucket (few on the left, many on the right); the cell is the share of those sites passing LCP.

SetTimeout swings the hardest: 88% of sites pass LCP with few, 66% with many. computed

The State of Web Vitals · Q2 2026 · 189,915 sites · phone field datacorewebvitals.io/state-of-cwv
4

Few vs many - does quantity cost LCP? the pass rate with few vs many of each category

60%70%80%90%100% few → many
SetTimeout 47.3% 88%66%
SetInterval 0.8% 85%67%
Raf 46.4% 84%68%
RequestIdleCallback 3.4% 82%76%
Scheduler yield 2.1% 81%89%
PostTask 0% 82%89%
% of sites passing LCP · hollow ring = pages with few, solid dot = pages with many

Per category: the pass rate among pages with FEW of it (hollow ring) against pages with MANY (solid dot), worst trend first. Thin buckets are excluded from the endpoints.

More SetTimeout costs the most: the LCP pass rate falls from 88% with few to 66% with many. computed

The State of Web Vitals · Q2 2026 · 189,915 sites · phone field datacorewebvitals.io/state-of-cwv
5

Why this matters for the Core Web Vitals, and where to start fixing it

Long tasks block every interaction that arrives while they run. The fix is yielding: split the work and give the browser a chance to handle input in between. How a site yields matters. scheduler.yield hands control back and resumes with priority. postTask schedules work with an explicit priority. A setTimeout chain yields too, but blindly: no priority, and every link in the chain adds delay.

Seeing the modern scheduler APIs on a site is a strong signal: someone engineered the INP instead of inheriting it.

Related signals Interaction invoker types → CSS hints → Yielding strategy → INP phase breakdown → Chrome field data from 189,915 sites, representing millions of real page loads · How we measured