Deep architectural dive into Blink, Chromium cc (Chrome Compositor), GraphicsLayer promotion criteria, and the Overlap Promotion hazard.
In Chromium's Blink rendering engine, rendering is structured as a directional directed acyclic graph (DAG) pipeline:
As documented in Steve Kobes' Life of a Pixel (Google Chrome University), the most performant animations bypass the Main Thread entirely and operate strictly on the Compositor Thread (cc/ module in Chromium).
Chromium's compositor promotes a DOM element to an independent hardware GraphicsLayer under specific conditions:
Elements promoted purposefully by developer declaration or explicit transform operations:
will-change: transform, will-change: opacity, will-change: filter.translate3d, rotate3d, matrix3d.<video>), <canvas>, and CSS animations acting on compositor properties.Documented in Chromium's Accelerated Compositing Design:
transform: translateZ(0) can cause hundreds of sibling elements to be implicitly promoted, resulting in catastrophic VRAM spikes and OOM tab crashes.When an animation targets transform or opacity:
Built by Axyl. A performance auditing toolkit for motion-heavy web interfaces.
Last updated: 10/4/2026