TL/DR
In M58, the Paint team is planning ship a feature under the runtime flag SlimmingPaintInvalidation. This is one more step on the path to SPv2; call it SP1.5. Web developers should observe no change except fewer bugs.
This code is under the SlimmingPaintInvalidation runtime flag; it can be turned off via about:flags or with --disable-blink-features=SlimmingPaintInvalidation.
Please bear with us during this launch - we have tested it heavily for correctness and performance, but there will as always be bugs and other problems. If you see any paint invalidation bugs after we turn it it on, please *take extra effort to tell us*. We want to fix any and all bugs right away, not after launch.
What is it?
It's a re-implementation of Paint Invalidation to (a) be more correct and performant, and (b) be compatible with the SPv2 design. Some additional flavor is below.
Today, the Blink document lifecycle looks, at a high level, like this:
Style -> Layout -> Compositing -> Paint Invalidation -> Paint
After this launch, it'll be:
Style -> Layout -> Compositing -> Pre-paint -> Paint*
The pre-paint tree walk does two things in parallel:
1. Build paint property trees. Think of them as "sparse versions" of the layout tree which represent the hierarchies of transforms, clips, effects and scrolls in a webpage. Paint property trees are a key data structure for SPv2. SPv2 will replace the current GraphicsLayer tree with paint property trees plus a collection of PaintChunks.
2. Invalidates paint for changed LayoutObjects. This works very similarly to the "Paint Invalidation" tree walk today, but is implemented more cleanly, and has better performance in some cases (such as content below a 2D transform) by using the new GeometryMapper class. It will also reduce the complexity of the LayoutObject class and its sub-classes by removing additional code related to paint invalidation.
--
You received this message because you are subscribed to the Google Groups "paint-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to paint-dev+unsubscribe@chromium.org.
To post to this group, send email to pain...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/paint-dev/CAOMQ%2Bw_6itskO8se6kr1qmEY6kny9Sse7VtbatuJXkRE2HpTzQ%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to paint-dev+...@chromium.org.
To post to this group, send email to pain...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/paint-dev/CAOMQ%2Bw_6itskO8se6kr1qmEY6kny9Sse7VtbatuJXkRE2HpTzQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADeTeo62TQ%2B7-bRX_CoBTpdmhs4UiB3Qcim4e%2BhW7T3QtrcMeA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/paint-dev/CANMdWTsfr%2B-0diaHyO8%3DL%3DY7fto2%3Dp1zRTS8kBT_OZuEQyiYVw%40mail.gmail.com.