Skip to content
Chrome Compositor: Transform Updates Versus Scroll Offset episode artwork

Oct 25, 2025 24 min

Chrome Compositor: Transform Updates Versus Scroll Offset

from Blink286 Hosted by Free Debreuil

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: SetTransformChanged() and SetScrollOffset(). The sources explain that both methods, when paired with the needs_local_transform_update and set_needs_update(true) flags, trigger the recalculation of a node's transform matrix. The critical distinction lies in their intended use and impact on performance and correctness: SetScrollOffset() is preferred for content scrolling because it correctly updates the scroll offset used by features like sticky positioning and provides accurate damage attribution (e.g., kCompositorScroll), whereas SetTransformChanged() is reserved for generic, non-scroll-based transform changes, such as the elastic overscroll effect. For the elastic overscroll scenario specifically, the sources conclude that using SetTransformChanged() is correct and has minimal performance cost, as the change is handled efficiently by the GPU and does not benefit from the scroll-specific damage optimizations offered by SetScrollOffset().

Episode details come from the podcast's RSS feed.

Embed this episode

Ready to play

Chrome Compositor: Transform Updates Versus Scroll Offset

0:00 24:49

No transcript yet.

Requests help us decide what to transcribe next.

Frequently asked questions

How long is this episode of Blink286?

This episode is 24 minutes long.

When was this Blink286 episode published?

This episode was published on October 25, 2025.

Can I download this Blink286 episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.