Slimming Paint (a.k.a. Redesigning Painting and Compositing)

Slimming Paint is a Paint team project to re-implement the Blink<->cc picture recording API to work in terms of a global display list rather than a tree of cc::Layers (~aka GraphicsLayer in Blink terminology). It will result in a drastic simplification of the way that composited layers are represented in Blink and cc, which in turn will yield improved performance, correctness and flexibility.

To get a sense of the extent of this rewrite, one side-effect will be the deletion of the code in core/rendering/compositing/.
 

Phases

SlimmingPaintV1 - paint using display items (Status: launched in M45)
SlimmingPaintInvalidation - rewrite of paint invalidation using display items, property trees introduced in blink (Status: launched in M58)
SlimmingPaintV175 - uses property trees for painting in blink, introduces paint chunks, uses paint chunks for raster invalidation (Status: launched in M67)
BlinkGenPropertyTrees - sends a layer list instead of a tree, and generates final property trees in blink instead of re-generating them in cc (Status: launching in M73)
CompositeAfterPaint - compositing decisions made after paint.
 

Presentations

BlinkOn 3.0 Presentationvideo (start here to find out more about the project)
 
 
Blink Property Trees (also reviews the Composite-After-Paint (formerly "SPV2") design)
 
BlinkOn 9 presentation covering current compositing architecture
 

Core team members

Chris Harrelson (chrishtr@), overall TL
Mason Freed (masonfreed@) Blink
Philip Rogers (pdr@) Blink
Stephen Chenney (schenney@) Blink
Xianzhu Wang (wangxianzhu@) Blink
 
Adrienne Walker (enne@) cc
Robert Flack (flackr@) animations
David Bokan (bokan@) viewports

Close relatives

Fredrik Söderquist (fs@opera.com) Blink
Erik Dahlstrom (ed@opera.com) Blink
Florin Malita (fmalita@) Blink / Skia
Mike Klein (mtklein@) Skia
Mike Reed (reed@) Skia
 
 
A number of other people are involved at least tangentially for design discussions and related projects.

Resources and Design Docs

 
 
 
 
 
 
 
 
 
Some out of date/historical docs are here.

posted on   huangguanyuan  阅读(353)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示