Worklet - Worker 的轻量级版本,让开发人员可以访问渲染管道的底层部分
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
Worklet
接口是 Worker
的轻量级版本,让开发人员可以访问渲染管道的底层部分。通过 Worklets,您可以运行 JavaScript 和 WebAssembly 代码来执行需要高性能的图形渲染或音频处理。
Worklet 类型
工作区仅限于特定的用例;它们不能用于 Web Worker 之类的任意计算。 Worklet
接口抽象了所有类型的 Worklet 共有的属性和方法,因此不能直接创建该类。但是,您可以使用以下类之一:
名称 | 描述 | 位置 | 规范 |
---|---|---|---|
PaintWorklet |
用于以编程方式生成 CSS 属性需要文件的图像。通过 CSS.paintWorklet 访问此接口。 |
Chrome: 主线程 Gecko: 绘画线程 | CSS Painting API |
AudioWorklet |
用于使用自定义 AudioNode 进行音频处理。 | 网络音频渲染线程 | Web Audio API |
AnimationWorklet |
用于创建 "scroll-linked" 和其他高性能程序动画。 | 合成线程 | CSS Animation Worklet API |
LayoutWorklet |
用于定义自定义元素的位置和尺寸。 | - | CSS Layout API |
属性
Worklet
接口没有定义任何属性。
方法
Worklet.addModule()
将给定 URL 处的脚本模块添加到当前工作集。
规范
规范 | 状态 | 备注 |
---|---|---|
Worklets Level 1 Worklet 的定义 |
工作草案 | - |
桌面浏览器兼容性
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 65 | 65 | 未知 | 不支持1 | 未知 | 47 | 不支持 |
addModule | 65 | 65 | 未知 | 不支持1 | 未知 | 47 | 不支持 |
1. 仅在 Firefox Nightly 中可用。
相关链接
- Houdini:揭秘 CSS 谷歌开发者(2016 年 5 月)
- AudioWorklet :: 什么,为什么和如何 YouTube(2017 年 11 月)
- 进入 AudioWorklet 谷歌开发者(2017 年 12 月)
- Animation Worklet - HTTP203 Advent YouTube(2017 年 12 月)