Blink PrePaint: Fragment Traversal and Paint Property Tree Construction
Blink28629 Dec 2025

Blink PrePaint: Fragment Traversal and Paint Property Tree Construction

The provided text explains the PrePaint phase within Blink’s rendering engine, a critical stage where the system prepares for visual output by invalidating old paint and building property trees. During this process, a tree walk traverses the layout and fragment trees to establish hierarchical relationships for CSS properties like transforms, clips, and effects. This traversal is optimized to skip clean subtrees, ensuring that only "dirty" elements or those affected by ancestor changes are processed. The system specifically manages complex scenarios such as block fragmentation and out-of-flow elements, ensuring they are correctly positioned within their containing blocks. Results are stored in FragmentData objects, which provide the essential coordinate and property state used by the subsequent Paint phase to generate display items. Ultimately, this phase bridges the gap between layout geometry and the final composited layers sent to the screen.


Avsnitt(454)

CSS View Transition Pseudo-elements Explained

CSS View Transition Pseudo-elements Explained

These sources provide a detailed, technical explanation of the View Transition API implementation within the Chromium web browser, focusing on how CSS pseudo-elements enable smooth animations. The fir...

24 Sep 202538min

gpu::SkiaOutputSurfaceImplOnGpu / gpu::CommandBuffer

gpu::SkiaOutputSurfaceImplOnGpu / gpu::CommandBuffer

Bridges Skia’s recorded commands to the GPU command buffer; submits and SwapBuffers to present. (Backend: GL/Vulkan/Metal via GPU process.)

23 Sep 202532min

viz::SkiaRenderer

viz::SkiaRenderer

Renderer that turns quads into Skia operations (recording DDLs / drawing to the output surface).

23 Sep 202552min

viz::Display

viz::Display

The display compositor that walks the aggregated render passes and issues draw commands for the final output.

23 Sep 202538min

cc::LayerTreeHostImpl (Input Handler & Scroll Logic)

cc::LayerTreeHostImpl (Input Handler & Scroll Logic)

Scroll processing and overscroll detection in the compositor. The LayerTreeHostImpl in cc implements the compositor-thread InputHandler that processes gesture scroll updates and flings. It manages the...

23 Sep 202527min

blink::EventHandler (Blink core input handling)

blink::EventHandler (Blink core input handling)

Scroll chain builder and overscroll chaining logic. Blink’s EventHandler is responsible for building the scroll chain (the sequence of nested scrollable ancestors) when the user scrolls an element . I...

23 Sep 202526min

blink::ElasticOverscrollController

blink::ElasticOverscrollController

Overscroll orchestration and animation. This Blink-side controller manages the rubber-banding (elastic stretch and rebound) effect when a scrollable area is overscrolled. It observes gesture scroll ev...

23 Sep 202526min

viz::Surface / SurfaceAggregator

viz::Surface / SurfaceAggregator

Receives frames from one or more surfaces (main page and OOPIFs), aggregates them into a single display frame.

23 Sep 202535min

Populärt inom Teknik

uppgang-och-fall
elbilsveckan
market-makers
rss-elektrikerpodden
skogsforum-podcast
rss-veckans-ai
bilar-med-sladd
gubbar-som-tjotar-om-bilar
har-vi-akt-till-mars-an
natets-morka-sida
rss-laddstationen-med-elbilen-i-sverige
rss-technokratin
rss-it-sakerhetspodden
developers-mer-an-bara-kod
rss-uppgang-och-fall
bli-saker-podden
ai-sweden-podcast
rss-powerboat-sverige-podcast
vi-bilagares-podcast
rss-snacka-om-ai