CSS Backdrop-Filter
Blink28616 Okt 2025

CSS Backdrop-Filter

The sources provide an extensive technical explanation of the CSS backdrop-filter property within Google Chrome's Blink rendering engine. This deep dive details how the feature, which allows filters like blur or brightness to be applied to content behind an element, is implemented via Blink's compositing and GPU pipeline, involving the creation of EffectNodes and RenderPasses. Much of the discussion focuses on interoperability issues and performance optimizations, particularly how Blink addressed the notorious edge flicker artifact by adopting the mirror edge sampling mode and ensuring that the effect correctly respects stacking contexts and clipping (like border-radius), while also cautioning developers about the significant performance cost associated with the feature.

Episoder(417)

blink::PropertyTreeManager

blink::PropertyTreeManager

bridges Blink property trees → cc property trees. Given Blink’s Transform/Clip/Effect/Scroll nodes (from paint property trees), this class creates/updates the cc counterparts (cc::TransformNode, cc::C...

10 Okt 202546min

blink::PaintArtifactCompositor

blink::PaintArtifactCompositor

turns chunks into compositor layers & updates cc property trees. Consumes the new PaintArtifact and does the layerization and property‑tree updates required for compositor draw. It supports fast paths...

10 Okt 202529min

blink::PaintChunk and blink::DisplayItemList

blink::PaintChunk and blink::DisplayItemList

grouping and content. PaintChunk: groups sequential display items that share the same property‑tree state and cull/visibility; it’s the unit we layerize and invalidate.DisplayItemList: the recorded Sk...

10 Okt 202537min

blink::PaintArtifact

blink::PaintArtifact

the immutable “what to draw” package for this frame. A PaintArtifact is the product of Blink painting: a DisplayItemList plus an ordered vector of PaintChunks. It is immutable post‑creation and design...

10 Okt 202531min

blink::PaintController

blink::PaintController

builds the display list + paint chunks and manages caching. As painters call into GraphicsContext, they also drive a PaintController which groups drawing into display items and paint chunks (each keye...

10 Okt 202529min

blink::GraphicsContext

blink::GraphicsContext

immediate drawing API that records to a display list. Painters for layout objects use GraphicsContext to “draw”—but in modern Blink those calls get recorded into a display list (PaintRecord) backed by...

10 Okt 202544min

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

These are the nodes within those four trees. Every piece of painted content (a “paint chunk”) is associated with a tuple of (Transform, Clip, Effect, Scroll) nodes—its PropertyTreeState. This precisel...

10 Okt 202533min

blink::PaintPropertyTreeBuilder

blink::PaintPropertyTreeBuilder

builds/updates paint property trees.Consumes the layout/fragment data and produces the four paint property trees (Transform, Clip, Effect, Scroll) for the current frame. These trees encode coordinate ...

10 Okt 202547min

Populært innen Teknologi

lydartikler-fra-aftenposten
romkapsel
rss-avskiltet
teknisk-sett
rss-impressions-2
energi-og-klima
teknologi-og-mennesker
shifter
elektropodden
smart-forklart
nasjonal-sikkerhetsmyndighet-nsm
hans-petter-og-co
tomprat-med-gunnar-tjomlid
pedagogisk-intelligens
rss-ki-praten
fornybaren
rss-praktisk-proptech
rss-fish-ships
rss-alt-som-gar-pa-strom
rss-snakk-om-sikkerhet