WordPress main-thread task scheduling APIs and the Core Web Vitals
99.9% of audited sites (63,150) schedule tasks via setTimeout (100% good INP), 77.3% use requestAnimationFrame (100% good INP), 33.3% use requestIdleCallback (100% good INP), and 2.6% adopt modern scheduler.yield() (100% good INP, 50ms median).
33.3% of WordPress sites use requestIdleCallback() main-thread scheduling API usage, and 100% of those sites have a good INP, against 100% of all WordPress sites.
INP pass rate
Sites with requestIdleCallback() main-thread scheduling API usage have a good INP most often: 100%, against 100% of all WordPress sites. Sites with requestAnimationFrame() task scheduling have it least often, at 100%.
Main-thread scheduling API usage usage
SetTimeout() is the most used: 99.9% of WordPress sites. RequestIdleCallback() is 33.3% of WordPress sites.
Main-thread scheduling API usage per framework
React sets the main-thread scheduling API usage to requestIdleCallback() on 68% of its sites, and 100% of React sites have a good INP, against 100% of all sites. jQuery sets the main-thread scheduling API usage to setTimeout() on 100% of its sites, and 100% of jQuery sites have a good INP.
Scheduling APIs or the framework
Does the framework explain the main-thread scheduling API usage difference?
On jQuery, 100% of sites with requestIdleCallback() main-thread scheduling API usage have a good INP, against 100% of jQuery sites with setTimeout(). Within jQuery, sites with requestIdleCallback() and setTimeout() have a good INP about equally often. On Vue, 100% of sites with requestIdleCallback() main-thread scheduling API usage have a good INP, against 99% of Vue sites with setTimeout(). Within Vue, sites with requestIdleCallback() and setTimeout() have a good INP about equally often.
How timer churn (setInterval) and yielding APIs affect input responsiveness
Nearly every site uses setTimeout() (99.9%, 100% good INP), while 75.1% run recurring setInterval() timers (100% good INP, 49ms median) and 77.3% use requestAnimationFrame() (100% good INP). For background work, 33.3% call requestIdleCallback() (100% good INP, 50ms median), while the 2.6% (1,622 sites) adopting scheduler.yield() achieve a 50ms median INP (100% good INP) by yielding to pending user input with priority continuation.
Understanding main-thread task scheduling APIs
Replace recurring setInterval() polling in sliders and notification plugins with IntersectionObserver or event-driven listeners, and yield inside long initialization loops using scheduler.yield(). On WordPress, 75.1% of sites run setInterval() timers (49ms median INP) while 2.6% use scheduler.yield() (50ms median INP).
By Arjen Karel · 63,295 crawled WordPress sites (17,005 with desktop Chrome field data, 63,166 sites with main-thread scheduling API usage, October 2026). How we measured.