viz::Display::DrawAndSwap
Blink2865 Loka 2025

viz::Display::DrawAndSwap

In Chrome’s rendering pipeline, the Viz service in the GPU process owns a viz::Display object. A Display is responsible for taking aggregated CompositorFrames (produced by the SurfaceAggregator), drawing them using the appropriate renderer (Skia or software) and swapping the resulting buffer to the physical output surface. The method Display::DrawAndSwap(const DrawAndSwapParams& params) performs this work. The display scheduler calls DrawAndSwap for every frame it wants to display. On some platforms such as Lacros, DrawAndSwap uses the root surface size as the display’s size; the note on display size explains that display_->Resize sets current_surface_size_, and DrawAndSwap uses this value to determine whether the current frame needs a resize.

Jaksot(486)

Chrome Blink and CC Finch Experiment Guide

Chrome Blink and CC Finch Experiment Guide

The source material is a comprehensive guide detailing the process for Google Chrome engineers to launch an A/B field trial (experiment) for changes made to the rendering engine (Blink) or the composi...

29 Loka 202544min

Chrome's CSS Scroll Snap Implementation: Blink and Compositor Deep Dive

Chrome's CSS Scroll Snap Implementation: Blink and Compositor Deep Dive

The source provides an extensive technical explanation of the implementation of CSS Scroll Snap within the Google Chrome browser, specifically detailing how the feature is managed across the Blink ren...

29 Loka 202541min

Chrome Compositor: Transform Updates Versus Scroll Offset

Chrome Compositor: Transform Updates Versus Scroll Offset

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: SetTransformChang...

25 Loka 202524min

X11 and Wayland Architecture, Evolution, and Chrome Integration

X11 and Wayland Architecture, Evolution, and Chrome Integration

The source provides an extensive overview of the evolution of the Linux display stack, focusing on the historical X Window System (X11) and its modern replacement, Wayland. It details the client-serve...

24 Loka 202548min

Subnormal Floating-Point Numbers: Technical Report

Subnormal Floating-Point Numbers: Technical Report

The comprehensive technical report provides an in-depth analysis of subnormal floating-point numbers, which are tiny values in the IEEE-754 standard designed to facilitate gradual underflow between th...

24 Loka 202545min

OKLab Color Space in Web Development

OKLab Color Space in Web Development

The sources provide an extensive technical explanation of the OKLab color space and its implementation within web technologies, primarily focusing on the Chromium (Blink/Skia) rendering engine. OKLab ...

24 Loka 202532min

Physics-Based CSS Animations in Blink's Compositor

Physics-Based CSS Animations in Blink's Compositor

The sources provide an extensive overview of the transition from traditional, fixed-curve web animations to more expressive physics-based (spring) animations that mimic real-world motion. They detail ...

24 Loka 202526min

Chromium Viewport Scroll and Transform Hierarchy

Chromium Viewport Scroll and Transform Hierarchy

The provided document explains how Chromium's rendering engine structures the components responsible for scrolling and visual positioning, primarily through nested scroll property trees and transform ...

23 Loka 202525min