blink::PaintArtifactCompositor
Blink28610 Loka 2025

blink::PaintArtifactCompositor

turns chunks into compositor layers & updates cc property trees.

Consumes the new PaintArtifact and does the layerization and property‑tree updates required for compositor draw. It supports fast paths when only values changed (e.g., opacity) or when a scroll only induces raster invalidation, avoiding full rebuilds. It owns a subtree of cc layers corresponding to the artifact. (Chromium Git Repositories)

Key fields

  • scoped_refptr<cc::Layer> root_layer_ — root of the Blink‑owned layer subtree.

  • UpdateType needs_update_ — kRepaint vs kFull (or scroll fast path).

  • Caches/maps for synthesized mask clips and scroll translations seen while layerizing. (Chromium Git Repositories)

Most important methods

  • bool TryFastPathUpdate(const PaintArtifact&) — take a cheap path (no topology change). (Chromium Git Repositories)

  • void Update(const PaintArtifact&, const ViewportProperties&, const StackScrollTranslationVector&, Vector<std::unique_ptr<cc::ViewTransitionRequest>>) — full reconciliation to layers + cc property trees. (Chromium Git Repositories)

  • “Direct update” helpers like DirectlyUpdateCompositedOpacityValue(...), DirectlyUpdateScrollOffsetTransform(...) — skip rebuilds for common animations/scrolling. (Chromium Git Repositories)

Hands off to: PropertyTreeManager (internally) to mirror Blink property nodes to cc trees, ready for commit to the compositor thread.


Jaksot(396)

Chrome Compositor: Transform Updates Versus Scroll Offset

Chrome Compositor: Transform Updates Versus Scroll Offset

These technical documents provide an in-depth analysis of Chromium's compositor property tree mechanics, focusing on the differences between two methods for updating transform nodes: SetTransformChang...

25 Loka 202524min

X11 and Wayland Architecture, Evolution, and Chrome Integration

X11 and Wayland Architecture, Evolution, and Chrome Integration

The source provides an extensive overview of the evolution of the Linux display stack, focusing on the historical X Window System (X11) and its modern replacement, Wayland. It details the client-serve...

24 Loka 202548min

Subnormal Floating-Point Numbers: Technical Report

Subnormal Floating-Point Numbers: Technical Report

The comprehensive technical report provides an in-depth analysis of subnormal floating-point numbers, which are tiny values in the IEEE-754 standard designed to facilitate gradual underflow between th...

24 Loka 202545min

OKLab Color Space in Web Development

OKLab Color Space in Web Development

The sources provide an extensive technical explanation of the OKLab color space and its implementation within web technologies, primarily focusing on the Chromium (Blink/Skia) rendering engine. OKLab ...

24 Loka 202532min

Physics-Based CSS Animations in Blink's Compositor

Physics-Based CSS Animations in Blink's Compositor

The sources provide an extensive overview of the transition from traditional, fixed-curve web animations to more expressive physics-based (spring) animations that mimic real-world motion. They detail ...

24 Loka 202526min

Chromium Viewport Scroll and Transform Hierarchy

Chromium Viewport Scroll and Transform Hierarchy

The provided document explains how Chromium's rendering engine structures the components responsible for scrolling and visual positioning, primarily through nested scroll property trees and transform ...

23 Loka 202525min

Chromium Blink's Paint Property Tree Printer Utility

Chromium Blink's Paint Property Tree Printer Utility

sources provide an in-depth examination of the PaintPropertyTreePrinter, a crucial diagnostic utility within the Chromium Blink rendering engine used for debugging and verifying the structure of paint...

23 Loka 202535min

CPU Stack Unpacked

CPU Stack Unpacked

CPU Stack

23 Loka 20251h 11min