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

2024-01-01

我一直在阅读有关 chrome 中的关键渲染路径的内容here https://developers.google.com/web/fundamentals/performance/rendering/ and here https://developers.google.com/web/updates/2018/09/inside-browser-part3。我对这些资源的理解是,“合成”步骤发生在主线程之外,并且依赖于先前的“绘制”步骤,该步骤生成要合成在一起的光栅化层。

然而,当我在 Chrome 开发工具中查看位置动画的单帧期间发生的情况时,我看到了以下内容:

  1. 看起来“合成”发生在主线程上,这不是我通过阅读这些资源所理解的。
  2. 合成之前主线程上有一个绘制步骤,但随后还有另一个“光栅化绘制”步骤after在“光栅化线程”上合成。

那么“绘画”和“光栅化绘画”之间有什么区别,为什么光栅化绘画步骤会在合成完成后发生?为什么合成似乎发生在 chrome 开发工具的主线程上,但文档将其描述为发生在不同的线程上?


根据本文 https://developers.google.com/web/fundamentals/performance/rendering/ :

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 开发工具中的“绘制”和“光栅化绘制”有什么区别? 的相关文章

随机推荐