WICG 引入了展现锁定,实现更快的 Web 渲染

阅读数:999 2019 年 12 月 12 日 08:00

WICG引入了展现锁定,实现更快的Web渲染

Web 孵化社区群组(Web Incubator Community Group,WICG)最近引入了展现锁定(Display Locking)提案,该提案可以轻松提高浏览器页面内容量并对渲染进行控制。

该提案适应多种使用场景,包括快速展现非常大的 HTML 文档,滚动显示大量内容,异步预渲染不可见的内容供后续展现,以及更快速地度量布局。该提案试图在不破坏 Web 特性和布局计算的情况下避免加载和渲染不可见的内容,并且为开发人员提供一种灵活性,使其能够在不向终端用户屏幕展现的情况下将内容预先渲染出来。

目前,DOM 是原子渲染的,随着站点和应用规模的增长,渲染也会耗费越来越长的时间。现在,我们所采用的技术包括隐藏不可见的内容或虚拟化,但是这些方式有一些限制,并且有可靠性方面的潜在问题。

展现锁定提案引入了三个新特性:

  • rendersubtree属性,控制一个 DOM 子树是否要渲染。该属性可以被浏览器或其他的用户终端所修改,并且会触发一个 MutationObserver 事件,开发人员可以对事件进行响应。
  • content-size属性,为rendersubtree属性标记为不可见的内容分配一个占位符的大小。
  • Element 对象的updateRendering方法,预渲染rendersubtree属性标记为不可见的子树中的内容。

在起草该提案时,WICG 考虑了多个备选方案,包括contain: strictdisplay:nonevisibility: hidden等 CSS 属性,但是对于开发人员和用户终端来说,这些方案都缺乏足够的控制。

在现今的 Web 浏览器中,目前还没有该提案的实现。该提案还处于早期阶段,提案鼓励相关人员加入展现锁定社区群组来提供反馈 Web 孵化社区群组 (WICG) 为提出和讨论新的 Web 平台特性提供了一个轻量级的场所。每个提案都会在群组的 Github 账户的 repository 中进行讨论。该群组的成员资格对所有人开放,但所有参与者必须首先签署 W3C 社区贡献者许可证协议(W3C Community Contributor License Agreement)。

原文链接:

Faster Web Rendering with WICG Display Locking Proposal

评论

发布
用户头像
估计应用要一年以后了
2019 年 12 月 12 日 12:04
回复
没有更多了