GPU

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

WebGPU APIGPU 接口是使用 WebGPU 的起点。它可用于返回一个 GPUAdapter,您可以通过它来请求设备、配置特性和限制等。

当前上下文的 GPU 对象可通过 Navigator.gpuWorkerNavigator.gpu 属性访问。

实例属性

wgslLanguageFeatures 只读

一个 WGSLLanguageFeatures 对象,用于报告 WebGPU 实现支持的 WGSL 语言扩展

实例方法

requestAdapter()

返回一个 Promise,该 Promise 会解析为 GPUAdapter 对象实例。通过该对象,您可以请求一个 GPUDevice,它是使用 WebGPU 功能的主要接口。

getPreferredCanvasFormat()

返回当前系统上用于显示 8 位深度、标准动态范围内容的最佳画布纹理格式。

示例

请求适配器和设备

js
async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU not supported.");
  }

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("Couldn't request WebGPU adapter.");
  }

  const device = await adapter.requestDevice();

  // …
}

使用最佳纹理格式配置 GPUCanvasContext

js
const canvas = document.querySelector("#gpuCanvas");
const context = canvas.getContext("webgpu");

context.configure({
  device,
  format: navigator.gpu.getPreferredCanvasFormat(),
  alphaMode: "premultiplied",
});

规范

规范
WebGPU
# gpu-interface

浏览器兼容性

另见