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.

Slimming Paint (a.k.a. Redesigning Painting and Compositing)的更多相关文章

  1. LeetCode Paint House II

    原题链接在这里:https://leetcode.com/problems/paint-house-ii/ 题目: There are a row of n houses, each house ca ...

  2. [译]使用Continuous painting mode来分析页面的绘制状态

    Chrome Canary(Chrome “金丝雀版本”)目前已经支持Continuous painting mode,用于分析页面性能.这篇文章将会介绍怎么才能页面在绘制过程中找到问题和怎么利用这个 ...

  3. C# 语言规范_版本5.0 (第10章 类)

    1. 类 类是一种数据结构,它可以包含数据成员(常量和字段).函数成员(方法.属性.事件.索引器.运算符.实例构造函数.静态构造函数和析构函数)以及嵌套类型.类类型支持继承,继承是一种机制,它使派生类 ...

  4. puppeteer(五)chrome启动参数列表API

    List of Chromium Command Line Switches https://peter.sh/experiments/chromium-command-line-switches/ ...

  5. CEF 支持的命令行参数

    参考:https://peter.sh/experiments/chromium-command-line-switches/ List of Chromium Command Line Switch ...

  6. C#6.0语言规范(十) 类

    类是可以包含数据成员(常量和字段),函数成员(方法,属性,事件,索引器,运算符,实例构造函数,析构函数和静态构造函数)和嵌套类型的数据结构.类类型支持继承,这是一种派生类可以扩展和专门化基类的机制. ...

  7. Capabilities & ChromeOptions

    https://sites.google.com/a/chromium.org/chromedriver/capabilities http://stackoverflow.com/questions ...

  8. List of Chromium Command Line Switches(命令行开关集)——官方指定命令行更新网址

    转自:http://peter.sh/experiments/chromium-command-line-switches/ There are lots of command lines which ...

  9. chromedriver中的浏览器选项

    There are lots of command lines which can be used with the Google Chrome browser. Some change behavi ...

随机推荐

  1. 仿写从iOS8开始支持的UIAlertController:BGAAlertController-Android

    工作以来公司UI设计师出的Android效果图都是iOS风格的UIAlertView和UIActionSheet,新项目还是用原来那一套,不想重复造轮子,所以仿写了从iOS8开始支持的UIAlertC ...

  2. vue 如何实现在函数中触发路由跳转

    this.$router.push({path:'/index'}) 欢迎加入前端交流群交流知识&&获取视频资料:749539640 methods:{ click(){ if(dat ...

  3. linux系统定时任务crond入门

    1,Crond: Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或者软件.(Centos5以后默认存在) 当优化开机自启动的时候,第一个就是crond. Crond服务默认情况( ...

  4. SVN 部分常用命令

    1. svn status 提交前显示出本地文本和版本库文本的区别 [url=] L abc.c # svn已经在.svn目录锁定了abc.c M bar.c # bar.c的内容已经在本地修改过了 ...

  5. hdu1045 - 贪心,二分图

    题目链接 左边白方格里放小球,满足同一行.列只有一个(被黑块隔开).问最多放多少个球. -------------------------------------------------------- ...

  6. oracle11g-rac安装部署

    网上11g rac安装文档大多不详细,今天来一个详细的! 纯操作文档,不喜勿喷!! 环境: 系统:rhel5.5 oracle:11.2.03 双网卡 共享磁盘 ip地址和主机名规划: #节点1 主机 ...

  7. Swift 闭包中 self? 的由来

    class UIViewSpringAnimator: SwipeAnimator { // 动画完成的闭包 var completion:((Bool) ->Void)? func addCo ...

  8. Hadoop不同模式下关键配置属性

    Hadoop分为三种模式: 独立(或本地)模式. 伪分布模式. 全分布模式 不同模式下关键配置项及属性内容如下面表格所示 组件名称 配置的文件名 属性名称 独立模式 伪分布模式 全分布模式 Commo ...

  9. 算法38---292. Nim游戏

    1.题目: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函 ...

  10. [ZJOI2007]捉迷藏 (点分树+堆*3)

    点分树一点都不会啊(还是太菜了) 点分树就是我们点分治构成的新树.满足深度很小. 然后我们就可以在上面瞎维护东西了. 三个大根堆: \(C[u]\)里装的是点分树中u的子树所有点到点分树中u的父亲的距 ...