Chromium Compositor's CalculateDrawProperties: Scrolling and Overscroll
Blink2863 Loka 2025

Chromium Compositor's CalculateDrawProperties: Scrolling and Overscroll

The sources provide an extremely detailed, line-by-line breakdown of the Chromium compositor function CalculateDrawProperties, explaining how it prepares the active layer tree for rendering. A primary focus is on how scrolling and elastic overscroll are handled by updating property trees (transform, clip, and effect) to reflect user interaction. Specifically, the function prioritizes applying SyncedProperties, such as the page scale factor (zoom) and the elastic overscroll vector (the bounce effect), ensuring consistency across layer trees before property recomputation. The application of overscroll is platform-dependent, utilizing stretching on Android versus simple translation on non-Android platforms, and these effects are injected into a dedicated transform node that propagates the visual change to all descendant layers. Finally, the function determines visible layers, computes their final draw properties, and assembles the render surface list that the compositor will use to issue drawing commands.


Jaksot(396)

Blink Paint Property Trees: Construction and Lifecycle Phases

Blink Paint Property Trees: Construction and Lifecycle Phases

The provided text explains the construction and lifecycle of paint property trees within the Blink rendering engine. These structures, which include Transform, Clip, Effect, and Scroll trees, replace ...

20 Joulu 20251h 1min

Chromium's LayerTreeHostClient: The Compositing Bridge

Chromium's LayerTreeHostClient: The Compositing Bridge

The source provides an extensive overview of the LayerTreeHostClient interface, a crucial component in Chromium's rendering architecture that acts as the bridge between the content engine (like Blink ...

18 Joulu 202536min

The Definitive Guide to CSS Scroll Snap

The Definitive Guide to CSS Scroll Snap

The source provides a comprehensive technical deep dive into the CSS Scroll Snap Module Level 1, a feature designed to create precise, controlled, and paginated scrolling experiences, such as carousel...

18 Joulu 202539min

Paint Artifact Compositor: Blink's Rendering Bridge

Paint Artifact Compositor: Blink's Rendering Bridge

The sources provide a detailed technical explanation of the PaintArtifactCompositor (PAC), a fundamental component of Chrome's modern Blink rendering pipeline known as CompositeAfterPaint (CAP). The P...

18 Joulu 202558min

View Transitions Flow

View Transitions Flow

17 Joulu 202548min

CSS Ink Overflow: Definition, Effects, and Clipping

CSS Ink Overflow: Definition, Effects, and Clipping

The provided text offers a comprehensive technical exploration of ink overflow in CSS, distinguishing it from scrollable overflow. Ink overflow is defined as purely decorative or visual effects—like s...

16 Joulu 202540min

Blink’s CSS Bucketing and Style Resolution Optimization

Blink’s CSS Bucketing and Style Resolution Optimization

The provided source offers a highly detailed internal technical analysis of CSS "bucketing" within Chrome's Blink engine, which is the mechanism used to optimize CSS style matching by partitioning rul...

16 Joulu 202536min

Blink PaintPropertyTreeBuilder: Lifecycle, Operation, and Integration

Blink PaintPropertyTreeBuilder: Lifecycle, Operation, and Integration

The provided text offers a comprehensive technical examination of the PaintPropertyTreeBuilder within Blink’s rendering engine, detailing its function during the PrePaint phase of the document lifecyc...

16 Joulu 202531min