GPUOutOfMemoryError

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die GPUOutOfMemoryError Schnittstelle der WebGPU API beschreibt einen Speicherüberlauf-Fehler (out-of-memory), der darauf hinweist, dass nicht genügend freier Speicher vorhanden war, um die angeforderte Operation abzuschließen.

Sie stellt einen der Fehlertypen dar, die durch GPUDevice.popErrorScope und das uncapturederror-Ereignis hervorgehoben werden.

Out-of-memory-Fehler sollten in einer gut funktionierenden App relativ selten sein, sind jedoch weniger vorhersehbar als GPUValidationErrors. Dies liegt daran, dass sie von dem Gerät abhängen, auf dem Ihre App läuft, sowie von anderen Apps, die zum Zeitpunkt der Ausführung GPU-Ressourcen nutzen.

GPUError GPUOutOfMemoryError

Konstruktor

GPUOutOfMemoryError()

Erstellt eine neue Instanz des GPUOutOfMemoryError-Objekts.

Instanz-Eigenschaften

Die Eigenschaft message wird von ihrem Elternteil, GPUError, geerbt:

message Experimentell Schreibgeschützt

Ein String, der eine menschenlesbare Nachricht bereitstellt, die erklärt, warum der Fehler aufgetreten ist.

Beispiele

Das folgende Beispiel verwendet einen Fehlerbereich, um einen Out-of-Memory-Fehler zu erfassen und gibt ihn in der Konsole aus.

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}`);
  }
});

Spezifikationen

Specification
WebGPU
# gpuoutofmemoryerror

Browser-Kompatibilität

Siehe auch