GPUOutOfMemoryError

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

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

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

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅