Trees in Viz: Chrome's Centralized Compositing Engine
Blink28630 Marras 2025

Trees in Viz: Chrome's Centralized Compositing Engine

The source details a significant re-architecture of the Chromium rendering pipeline, known as JellyMander, centered on the feature Trees in Viz (TiV). This change shifts the core task of frame compositing—the process of calculating layer positions and generating draw commands—from individual renderer processes to the centralized Viz service running in the GPU process. Renderers now serialize and transmit raw visual data, including their layer tree and associated property trees, which Viz uses to compute the final display frame. This centralization is designed to reduce CPU overhead in the content process, facilitate unified scheduling, and enable major performance optimizations, particularly for rendering across site-isolated frames. Although Phase 1 focused on remote compositing, future phases aim to fully relocate complex dynamic updates, such as smooth scrolling and compositor animations, into Viz. The document also highlights the use of Mojo IPC and rigorous automated testing required to synchronize state and maintain visual fidelity across this new multi-process boundary.

Jaksot(391)

Iframe Layout Coordination and Cooperative Sizing in Blink

Iframe Layout Coordination and Cooperative Sizing in Blink

The provided text describes the technical evolution of iframe layout coordination within Google's Blink rendering engine. Traditionally, browsers treat iframes as isolated boxes with a default size of...

9 Helmi 37min

Chrome Scheduler: Frame Orchestrator

Chrome Scheduler: Frame Orchestrator

9 Helmi 35min

Blink Rendering Engine: Frame, Document, and View Lifecycle

Blink Rendering Engine: Frame, Document, and View Lifecycle

In the Blink rendering engine, LocalFrame, LocalFrameView, and Document form a specialized triad that manages the structure and display of web content. The LocalFrame acts as the primary controller fo...

8 Helmi 34min

Pixel Snapping in Blink's Paint Property Trees

Pixel Snapping in Blink's Paint Property Trees

Blink’s rendering engine utilizes paint property trees and snap offsets to balance high-precision layout with visual clarity. While the layout engine calculates positions using fractional units for ac...

8 Helmi 31min

Chromium Blink: Scroll-Triggered Animations on the Compositor Thread

Chromium Blink: Scroll-Triggered Animations on the Compositor Thread

This document explores the technical implementation of scroll-triggered animations within Chromium's Blink engine and compositor. Unlike traditional scroll-driven effects that track movement continuou...

6 Helmi 31min

Blink and Chromium: The JavaScript Execution Pipeline

Blink and Chromium: The JavaScript Execution Pipeline

This documentation provides a technical deep dive into Blink’s JavaScript execution pipeline, explaining how Chromium orchestrates the transition from HTML parsing to code evaluation. It details the r...

6 Helmi 31min

Evolution of CSS clip-path in Web Standards and Blink

Evolution of CSS clip-path in Web Standards and Blink

The provided text outlines the evolution and technical implementation of the CSS clip-path property, which allows developers to create non-rectangular regions for web content. It details how the stand...

6 Helmi 36min

Mastering Chained CLs in the Chromium Workflow

Mastering Chained CLs in the Chromium Workflow

In Chromium development, chained change lists (CLs) allow engineers to decompose massive features into a stack of smaller, dependent commits for easier code review. This workflow utilizes depot_tools,...

6 Helmi 38min