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
0.02
Top CLS
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 stable each group is

Median CLS
0
0.05
0.10
0.15
0.20
0.25
none0.0268% of sites
requestIdleCallback()0.0327% of sites
scheduler.yield()0.035% of sites
isInputPending()0.040% of sites
VariantShare of sitesMedian
none 64,256 sites
68%
0.02
requestIdleCallback() 25,901 sites
27%
0.03
scheduler.yield() 4,652 sites
5%
0.03
isInputPending() 24 sites
0%
0.04

Little daylight between the groups: every variant sits near 0.02 median CLS. computed

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

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

VariantSitesPassing CLSCLS
Scheduler.yield() 4.9% 4,652 80% 0.03
None 67.7% 64,256 79% 0.02
RequestIdleCallback() 27.3% 25,901 76% 0.03
IsInputPending() 0% 24 67% 0.04
Good Needs Improvement Poor Sorted best-passing first · median colored by its own rating · pass = good CLS (0.1 at p75) · one value per site

No variant stands out: pass rates sit between 76% and 80%. 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