Nowadays rendering chrome engine has been changed. For demonstrating new confusion moment: 1. Open a blank tab 2. Open dev-tools, next open Perfomance tab and run a recording performance 3. In process of the recording performance just doing moves by mouse on the blank page during 3sec or less (whatever you want) 4. Stop the recording performance 5. Look at the recorded data. 6. Find multiple Composite Layers bars
What does mean Composite Layers now? Why is it invoked by chrome render engine if page absolutely clear? Why do Update Layers Tree (already it is Pre-Paint) also change? What does it actually do? пятница, 26 июля 2019 г. в 02:51:34 UTC+10, sko...@chromium.org: > Hi Prashant, > > The terminology in devtools timeline items is somewhat misleading. > > *Update Layer Tree* is currently measuring two things: > > - Blink compositing update (decides which PaintLayers should be > composited, allocates or clears their CompositedLayerMapping, creates and > sets geometry and other properties of GraphicsLayers) > > - prepaint tree walk (issues paint invalidations on the layout objects, > and builds paint property trees) > > *Update Layer* is measuring some of the bookkeeping that occurs in > between paint and commit (PictureLayer::Update). I think the main thing > this is doing is copying paint ops out of the DrawingDisplayItem (which was > created during paint) and into the PictureLayer's RecordingSource (so that > the commit can transfer them into the PictureLayerImpl's RasterSource). > > *Composite Layers* is actually the time that the main thread spends > waiting for the commit to finish on the compositor thread. I agree it > should instead be named "Commit Layers". > > At least this is what I have gathered from inspection; others who know > more may correct me. > > Some of this will change with the launch of CompositeAfterPaint. > > On Tue, 23 Jul 2019 at 22:04, Prashant Palikhe <prash...@gmail.com> wrote: > >> I am a frontend dev trying to understand the guts of Blink/Chrome in >> order to get a grasp on how the code that I write gets converted into >> pixels on the screen. >> >> I have read several Chromium docs like >> >> >> https://www.chromium.org/developers/design-documents/compositor-thread-architecture >> >> https://chromium.googlesource.com/chromium/src/+/master/docs/how_cc_works.md#raster-and-tile-management >> >> and watched the brilliant talk by Steve Kobes on Life of a pixel >> <https://www.youtube.com/watch?v=w8lm4GV7ahg> >> >> I am trying to correlate the findings from these sources with the >> findings from my own experiments. I have been able to do so for most of the >> things except for >> >> 1. Update layer >> 2. Update layer tree >> 3. Composite layers >> >> These are my understanding so far. And I would like to be either >> validated or corrected. >> >> *Update layer* >> >> Not really sure what's going on here. Seems like part of painting. But >> what does it really mean? >> >> *Update layer tree* >> >> To me it seems like this is when the impl side layer tree changes are >> applied onto the layer tree on Blink. E.g. after scroll or pinch/zoom >> interactions. >> >> But if I read Paul's tweet from a while ago, >> https://twitter.com/aerotwist/status/498878547378053120?lang=en >> >> I am not so sure anymore. What is exactly happening here? >> >> *Composite layers* >> >> To me this is really confusing since composition is no longer main thread >> concept. So why does it even appear in main thread time line. >> >> To me it seems like this is when the main thread layer tree is committed >> to the compositor. This is initiated by the CC with the main thread blocked. >> >> If this is true, it seems like "composite layers" is not a right name. It >> would make more sense to have "commit layers" e.g. >> >> But maybe my assumptions are wrong. >> >> Hope to get clarity on these subjects. >> >> Thanks >> >> -- >> You received this message because you are subscribed to the Google Groups >> "blink-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to blink-dev+...@chromium.org. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/58b2a915-7a7d-453f-8196-7867cc58892d%40chromium.org >> >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/58b2a915-7a7d-453f-8196-7867cc58892d%40chromium.org?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4349db93-593c-43f8-87ec-374206cc9b1an%40chromium.org.