GPUOutOfMemoryError

可用性有限

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

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

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

GPUOutOfMemoryError 接口是 WebGPU API 的一部分,它描述了一个内存不足 (oom) 错误,表明没有足够的可用内存来完成请求的操作。

它代表了 GPUDevice.popErrorScopeuncapturederror 事件所暴露的错误类型之一。

对于运行良好的应用程序来说,内存不足错误应该相对罕见,但它们的不可预测性要高于 GPUValidationError。这是因为它们取决于应用程序运行的设备以及当时正在使用 GPU 资源的其它应用程序。

GPUError GPUOutOfMemoryError

构造函数

GPUOutOfMemoryError()

创建一个新的 GPUOutOfMemoryError 对象实例。

实例属性

message 属性继承自其父级 GPUError

message 实验性 只读

一个字符串,提供一个人类可读的消息,解释了错误发生的原因。

示例

以下示例使用错误作用域捕获内存不足错误,并将其记录到控制台。

js
device.pushErrorScope("out-of-memory");

let buffer = device.createBuffer({
  size: 100_000_000_000, // 100GB; far too big
  usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE,
});

device.popErrorScope().then((error) => {
  if (error) {
    // error is a GPUOutOfMemoryError object instance
    buffer = null;
    console.error(`Out of memory, buffer too large. Error: ${error.message}`);
  }
});

规范

规范
WebGPU
# gpuoutofmemoryerror

浏览器兼容性

另见