动画看似只改了位移,为何仍会掉帧并制造视觉不稳定?
简答题中等648 次浏览
参考答案与解析
# 核心结论
动画只修改 transform,仍然可能掉帧,因为“不触发布局”只减少了渲染流水线中的一部分工作,并不等于合成、栅格化、纹理上传和主线程任务都没有成本。视觉不稳定也不能只检查动画属性:动画元素本身可能由合成器移动而不改变文档流,但图片尺寸缺失、字体替换、异步内容插入或占位空间变化仍可能推动其他元素,造成 CLS。因此需要分别证明掉帧发生在哪个阶段,并追踪非预期布局位移的真正来源。
# 底层机制
浏览器呈现一帧通常涉及脚本执行、样式计算、布局、绘制、栅格化和合成。修改宽高、边距或影响流式布局的位置属性,通常会触发布局;修改颜色、阴影等属性通常需要绘制;在满足条件时,transform 和 `op
