咳咳,各位观众老爷们,晚上好!今天咱们来聊聊浏览器渲染周期里两个挺有意思的小伙伴:requestAnimationFrame (简称 rAF) 和 requestIdleCallback (简称 rIC)。这两个家伙,一个负责“争分夺秒”,另一个则“慢条斯理”,都是优化前端性能的利器。咱们争取用最接地气的方式,把它们扒个精光,让大家听完都能灵活运用。 开场白:浏览器渲染周期,你的舞台 想象一下,你写的代码就像个演员,而浏览器就是舞台。演员要在舞台上表演,就得按照剧本(渲染周期)的安排来。这个剧本包括: JavaScript 执行: 演员排练台词、走位。 样式计算: 化妆师给演员化妆、搭配服装。 布局(Layout): 确定演员在舞台上的位置。 绘制(Paint): 演员正式开始表演。 合成(Composite): 把所有演员的表演合成到一起,呈现在观众面前。 浏览器会不断重复这个过程,每秒钟大约 60 次(取决于你的显示器刷新率),也就是我们常说的 60 FPS (Frames Per Second)。如果某个环节卡壳了,导致渲染周期超过 16.67ms (1000ms / 60),就 …
继续阅读“JS `requestIdleCallback` 与 `requestAnimationFrame`:浏览器渲染周期的调度”