GPUOutOfMemoryError
GPUOutOfMemoryError
WebGPU API 的接口描述了内存不足 (oom) 错误,表明没有足够的可用内存来完成请求的操作。
它表示由 GPUDevice.popErrorScope
和 uncapturederror
事件引发的错误类型之一。
在行为良好的应用程序中,内存不足错误应该比较少见,但它们不如 GPUValidationError
可预测。 这是因为它们取决于应用程序运行的设备以及当时使用 GPU 资源的其他应用程序。
构造函数
GPUOutOfMemoryError()
实验性-
创建一个新的
GPUOutOfMemoryError
对象实例。
实例属性
示例
以下示例使用错误范围捕获内存不足错误,并将其记录到控制台。
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 表格仅在浏览器中加载