GPUOutOfMemoryError
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Giao diện GPUOutOfMemoryError của WebGPU API mô tả lỗi hết bộ nhớ (oom) cho biết không đủ bộ nhớ trống để hoàn thành thao tác được yêu cầu.
Nó đại diện cho một trong các loại lỗi được hiển thị bởi GPUDevice.popErrorScope và sự kiện uncapturederror.
Lỗi hết bộ nhớ nên tương đối hiếm trong một ứng dụng hoạt động tốt nhưng khó dự đoán hơn so với GPUValidationError. Điều này là do chúng phụ thuộc vào thiết bị mà ứng dụng đang chạy cũng như các ứng dụng khác đang sử dụng tài nguyên GPU tại thời điểm đó.
Hàm khởi tạo
GPUOutOfMemoryError()-
Tạo một đối tượng
GPUOutOfMemoryErrormới.
Thuộc tính phiên bản
Thuộc tính message được kế thừa từ lớp cha, GPUError:
messageExperimental Read only-
Một chuỗi cung cấp thông báo dễ đọc giải thích lý do tại sao lỗi xảy ra.
Ví dụ
Ví dụ sau sử dụng phạm vi lỗi để bắt lỗi hết bộ nhớ và ghi nó vào bảng điều khiển.
device.pushErrorScope("out-of-memory");
let buffer = device.createBuffer({
size: 100_000_000_000, // 100GB; quá lớn
usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE,
});
device.popErrorScope().then((error) => {
if (error) {
// error là một đối tượng GPUOutOfMemoryError
buffer = null;
console.error(`Out of memory, buffer too large. Error: ${error.message}`);
}
});
Thông số kỹ thuật
| Specification |
|---|
| WebGPU> # gpuoutofmemoryerror> |