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

瀏覽器相容性

另見