Worklet

安全上下文:此功能仅在 安全上下文(HTTPS)中可用,在部分或全部 支持的浏览器 中可用。

Worklet 接口是 Web Workers 的轻量级版本,它让开发者可以访问渲染管道的底层部分。

使用 Worklets,您可以运行 JavaScript 和 WebAssembly 代码来执行图形渲染或音频处理,这些操作需要高性能。

如果支持,Worklets 允许使用 import 静态导入 ECMAScript 模块。规范不允许动态导入 - 调用 import() 将会抛出异常。

Worklet 类型

Worklets 受限于特定的用例;它们不能像 Web Workers 一样用于任意计算。Worklet 接口抽象了所有类型的 worklets 共有的属性和方法,并且不能直接创建。您可以使用以下类之一:

名称 描述 位置 规范
AudioWorklet 用于使用自定义 AudioNode 进行音频处理。 Web Audio 渲染线程 Web Audio API
AnimationWorklet 用于创建与滚动相关的和其他高性能程序化动画。 合成器线程 CSS 动画 Worklet API
LayoutWorklet 用于定义自定义元素的定位和尺寸。 CSS 布局 API
SharedStorageWorklet 用于在跨站点数据上运行私有操作,而不会造成数据泄漏风险。 主线程 共享存储 API

注意:CSS 绘制 API 定义的绘制 worklets 不会继承 Worklet。它们通过使用 CSS.paintWorklet 获取的常规 Worklet 对象进行访问。

对于使用 WebGL 进行 3D 渲染,您不需要使用 worklets。相反,您需要使用 GLSL 代码编写顶点着色器和片段着色器,然后这些着色器将在显卡上运行。

实例属性

Worklet 接口没有定义任何属性。

实例方法

Worklet.addModule()

将给定 URL 上的脚本模块添加到当前 worklet。

规范

规范
HTML 标准
# worklets-worklet

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅