Paint: 向元素的可视部分填充像素, 包括文本 / 图像 / 边框 / 阴影, 绘制一般是在多个层上完成的
Composite: 将不同的层按正确的顺序绘制到屏幕上
要保证60FPS, 需要在 16ms...264.18ms, 在执行过程中动画一直卡顿中, 并且卡顿结束会跳帧, 而不是基于卡顿前的位置继续绘制动画
?...使用硬件加速后, 绘制过程将不再占用主线程, 直接在 GPU 上完成
因此, 点击按钮阻塞主线程, 也并不会影响动画, 你可以亲自试一试
使用 JS 动画
首先使用 setInterval 实现动画循环...创建支持硬件加速的动画
Element.animate() 还是一个实验中的功能, Chrome 最早在 36 版本中就实现了其基础功能
使用 Element.animate() 可以便捷的创建动画,...可以将长任务划分为一个个短任务, 在主线程空闲时, 按顺序一个个执行. 怎么知道主线程是否空闲呢?