我一直在阅读关于Chrome here和here的关键渲染路径的信息。从这些资源中我的理解是,“合成”步骤发生在主线程之外,并且依赖于先前的“绘制”步骤,该步骤产生将要合成的栅格化图层。
但是,当我查看Chrome开发工具中的位置动画的单个帧期间发生了什么时,我会看到:
那么“ Paint”和“ Rasterize Paint”之间有什么区别?为什么在完成合成后进行栅格化绘制步骤?为什么在chrome dev-tools中似乎在主线程上发生了合成,但是文档将其描述为在不同的线程上发生了?
答案 0 :(得分:1)
根据this article:
<块引用>您可能会听到与油漆结合使用的术语“光栅化”。这是因为绘画实际上是两个任务:1) 创建绘制调用列表,以及 2) 填充像素。
后者称为“光栅化”,因此每当您在 DevTools 中看到绘制记录时,您都应该将其视为包括光栅化。 (在某些架构中,创建绘制调用列表和光栅化是在不同线程中完成的,但这不受开发人员控制。)
光栅化也是将矢量图像转换为像素矩阵的操作。