Comparison
Frame budgetvsJank
Frame budget
you have about ten milliseconds of your own work per frame before the animation starts dropping.
The time available per frame at the display's refresh rate — roughly 16.7 milliseconds at 60Hz, 8.3 at 120Hz — shared between your script, style, layout, paint and composite. The browser's own work takes a meaningful slice, so the practical budget for application code is smaller than the headline number. Anything not finishable inside it belongs in a worker, spread across frames, or on the compositor.
Full entry →Jank
the scroll is smooth and then jumps, because a frame took too long and got skipped.
Visible unevenness caused by frames missing their deadline, whether from main-thread work, expensive layout or too much painting. Users notice irregularity more than they notice a consistently lower frame rate, so one dropped frame in a smooth scroll is worse than a uniformly slower animation. The profiler's frame view is the fastest way to find which frame ran long and what it was doing.
Full entry →