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

瀏覽器相容性

另見