Yielding strategy

The dominant main-thread yielding pattern the site uses, if any.

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

At a glance the headline numbers for Yielding strategy

The dominant main-thread yielding pattern the site uses, if any.

5
Categories
94,847 sites
67.7%
Top share
none
1.3s
Top LCP
Median for none

67.7% of sites never yield the main thread at all.

The State of Web Vitals · Q1 2026 · 94,910 sites · desktop field datacorewebvitals.io/state-of-cwv
2

Yielding strategy who uses what, and how fast each group loads

Median LCP
0
0.5s
1s
1.5s
2s
2.5s
3s
3.5s
4s
none1.3s68% of sites
scheduler.yield()1.4s5% of sites
isInputPending()1.5s0% of sites
requestIdleCallback()1.5s27% of sites
VariantShare of sitesMedian
none 64,256 sites
68%
1.3s
scheduler.yield() 4,652 sites
5%
1.4s
isInputPending() 24 sites
0%
1.5s
requestIdleCallback() 25,901 sites
27%
1.5s

None sites post the best median LCP (1.3s). RequestIdleCallback() sites trail at 1.5s. Correlation, not causation. computed

The State of Web Vitals · Q1 2026 · 94,910 sites · desktop field datacorewebvitals.io/state-of-cwv
3

Passing LCP per yielding strategy which group passes the LCP most often

VariantSitesPassing LCPLCP
IsInputPending() 0% 24 91% 1.5s
Scheduler.yield() 4.9% 4,652 88% 1.4s
None 67.7% 64,256 87% 1.3s
RequestIdleCallback() 27.3% 25,901 84% 1.5s
Good Needs Improvement Poor Sorted best-passing first · median colored by its own rating · pass = good LCP (2.5s at p75) · one value per site

No variant stands out: pass rates sit between 84% and 88%. computed

The State of Web Vitals · Q1 2026 · 94,910 sites · desktop field datacorewebvitals.io/state-of-cwv
4

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

This is the site's habit: how its longest scripts give the main thread back, if at all. None means work runs to completion, and every click that lands in the middle waits for all of it. INP is about the worst moments, and the worst moments are unbroken long tasks.

Any yielding beats none. A click that arrives during chunked work waits for the current chunk. A click that arrives during an unbroken task waits for the whole task. If you adopt one habit, make it scheduler.yield where supported, with setTimeout as the fallback.

How does this affect the Core Web Vitals?

The choice barely moves the INP: 99% pass at best, 98% at worst. This signal does not separate passing sites from failing ones.

Related signals Scheduling API use → CSS hints → Interaction invoker types → Blocking frame breakdown → Chrome field data from 94,910 sites, representing millions of real page loads · How we measured