blink::PaintController
Blink28610 Okt 2025

blink::PaintController

builds the display list + paint chunks and manages caching.

As painters call into GraphicsContext, they also drive a PaintController which groups drawing into display items and paint chunks (each keyed by the current property‑tree state). It also handles reuse of cached items to avoid repaint when nothing visually changed. Output is an immutable PaintArtifact. (Chromium Git Repositories)

Key fields

  • PaintArtifact* new_paint_artifact_ — being built for this frame;

  • PaintArtifact* old_paint_artifact_ — previous frame for cache matching;

  • PaintChunker paint_chunker_ — forms chunk boundaries based on property state;

  • PaintControllerPersistentData* persistent_data_ — holds prior artifact & subsequences. (Chromium Git Repositories)

Most important methods

  • UpdateCurrentPaintChunkProperties(const PropertyTreeStateOrAlias&) — starts/updates the current chunk when property state changes. (Chromium Git Repositories)

  • template <class T> CreateAndAppend(...) — appends a display item (records drawing op + metadata). (Chromium Git Repositories)

  • bool UseCachedItemIfPossible(...) — reuses prior items to skip repaints. (Chromium Git Repositories)

  • void BeginFrame(const void* frame) / FrameFirstPaint EndFrame(const void* frame) — delimit a painting pass for metrics + cache book‑keeping. (Chromium Git Repositories)

  • (Internals also maintain id→index maps to support O(1)/linear cache lookups.) (Chromium Git Repositories)

Hands off to: the PaintArtifact it produces.


Episoder(398)

Blink Main-Thread Scrolling – DOM, Layout, and Lifecycle

Blink Main-Thread Scrolling – DOM, Layout, and Lifecycle

The source provides an extensive technical overview of how the Blink rendering engine handles scrolling, particularly focusing on the main-thread scrolling lifecycle. It explains that while modern bro...

10 Nov 202545min

Architecture of Scrolling in Chrome (Blink vs. CC Overview)

Architecture of Scrolling in Chrome (Blink vs. CC Overview)

The source provides an extensive overview of the Chrome browser's scrolling architecture, detailing the division of labor between the Blink rendering engine (main thread) and the Chromium Compositor (...

10 Nov 202526min

[ext] Web View Transitions: Technical Deep Dive

[ext] Web View Transitions: Technical Deep Dive

The source provides an exhaustive technical and historical overview of the Web View Transition API, a modern set of web platform features designed to enable fluid, animated transitions between user in...

9 Nov 20251h 16min

Chromium Input Handling Deep Dive: Compositor and Proxy

Chromium Input Handling Deep Dive: Compositor and Proxy

The sources provide an extensive examination of Chromium’s input handling pipeline, focusing on the roles of the InputHandler and InputHandlerProxy within the renderer's dedicated compositor thread. T...

8 Nov 202540min

Web View Transitions: Technical Deep Dive

Web View Transitions: Technical Deep Dive

The second source introduces the View Transition API, a modern web platform feature that allows developers to create smooth, animated transitions between different UI states or entire pages by automat...

8 Nov 202547min

Chrome Compositor: Raster-Inducing Scrolling Explained

Chrome Compositor: Raster-Inducing Scrolling Explained

The source provides an extensive technical explanation of raster-inducing scrolling within the Chrome browser's rendering pipeline, focusing on the sophisticated architecture of the Chrome Compositor ...

8 Nov 202542min

Chromium ContentBrowserTest Architecture and Practice

Chromium ContentBrowserTest Architecture and Practice

The source provides an extensive overview of Chromium's ContentBrowserTest system, which functions as an integration test harness designed for the content layer of the browser. These tests operate by ...

6 Nov 202544min

Blink Compositor Promotion of CSS Animations

Blink Compositor Promotion of CSS Animations

The technical sources provide an extensive analysis of how the Blink rendering engine (used in Chromium/Chrome) determines whether a CSS animation can be executed on the compositor thread instead of t...

6 Nov 202536min

Populært innen Teknologi

lydartikler-fra-aftenposten
romkapsel
smart-forklart
rss-avskiltet
tomprat-med-gunnar-tjomlid
nasjonal-sikkerhetsmyndighet-nsm
teknisk-sett
energi-og-klima
rss-impressions-2
shifter
rss-alt-vi-kan
elektropodden
teknologi-og-mennesker
fornybaren
pedagogisk-intelligens
rss-fjorsilkebris-podcast
hans-petter-og-co
kunstig-intelligens-med-morten-goodwin
rss-byggepodden
rss-for-alarmen-gar