GPU
GPU
是 WebGPU API 的一个接口,它是使用 WebGPU 的起点。它可以用于返回一个 GPUAdapter
,从中您可以请求设备、配置功能和限制等。
当前上下文的 GPU
对象可以通过 Navigator.gpu
或 WorkerNavigator.gpu
属性访问。
实例属性
wgslLanguageFeatures
实验性 只读-
一个
WGSLLanguageFeatures
对象,它报告 WebGPU 实现支持的 WGSL 语言扩展。
实例方法
requestAdapter()
实验性-
返回一个
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: device,
format: navigator.gpu.getPreferredCanvasFormat(),
alphaMode: "premultiplied",
});
规范
规范 |
---|
WebGPU # gpu-interface |
浏览器兼容性
BCD 表格只能在启用 JavaScript 的浏览器中加载。
另请参见
- 有关 WebGPU API 的更多信息,请访问此链接。