Chrome开发人员工具中的“绘画”和“光栅化绘画”有什么区别?

时间:2018-11-15 09:35:20

标签: google-chrome google-chrome-devtools web-performance

我一直在阅读关于Chrome herehere的关键渲染路径的信息。从这些资源中我的理解是,“合成”步骤发生在主线程之外,并且依赖于先前的“绘制”步骤,该步骤产生将要合成的栅格化图层。

但是,当我查看Chrome开发工具中的位置动画的单个帧期间发生了什么时,我会看到:

enter image description here

  1. 看来“合成”正在主线程上发生,这不是我从阅读这些资源中学到的。
  2. 在合成之前,主线程上有一个绘画步骤,但是在“光栅化器线程”上合成之后,在之后还有另一个“光栅化绘画”步骤。

那么“ Paint”和“ Rasterize Paint”之间有什么区别?为什么在完成合成后进行栅格化绘制步骤?为什么在chrome dev-tools中似乎在主线程上发生了合成,但是文档将其描述为在不同的线程上发生了?

1 个答案:

答案 0 :(得分:1)

根据this article

<块引用>

您可能会听到与油漆结合使用的术语“光栅化”。这是因为绘画实际上是两个任务:1) 创建绘制调用列表,以及 2) 填充像素。
后者称为“光栅化”,因此每当您在 DevTools 中看到绘制记录时,您都应该将其视为包括光栅化。 (在某些架构中,创建绘制调用列表和光栅化是在不同线程中完成的,但这不受开发人员控制。)

光栅化也是将矢量图像转换为像素矩阵的操作。