GPUOutOfMemoryError
注意:此功能在 Web Workers 中可用。
GPUOutOfMemoryError 接口是 WebGPU API 的一部分,它描述了一个内存不足 (oom) 错误,表明没有足够的可用内存来完成请求的操作。
它代表了 GPUDevice.popErrorScope 和 uncapturederror 事件所暴露的错误类型之一。
对于运行良好的应用程序来说,内存不足错误应该相对罕见,但它们的不可预测性要高于 GPUValidationError。这是因为它们取决于应用程序运行的设备以及当时正在使用 GPU 资源的其它应用程序。
构造函数
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 |
浏览器兼容性
加载中…