GPUInternalError
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Das GPUInternalError
-Interface der WebGPU-API beschreibt einen Anwendungsfehler, der auftritt, wenn eine Operation aus einem system- oder implementierungsspezifischen Grund fehlschlägt, selbst wenn alle Validierungsanforderungen erfüllt waren.
Es stellt eine der Fehlertypen dar, die von GPUDevice.popErrorScope
und dem uncapturederror
-Ereignis angezeigt werden.
Interne Fehler treten auf, wenn etwas in der WebGPU-Implementierung geschieht, das nicht durch Validierung abgefangen wurde und nicht klar als Speicherplatzfehler identifiziert werden konnte. Dies bedeutet im Allgemeinen, dass eine Operation in Ihrem Code auf ein Systemlimit gestoßen ist, das schwer mit den unterstützten Limits von WebGPU auszudrücken war. Die gleiche Operation könnte auf einem anderen Gerät erfolgreich sein. Diese können nur durch die Erstellung von Pipelines ausgelöst werden, normalerweise, wenn der Shader für das Gerät zu komplex ist.
Konstruktor
GPUInternalError()
Experimentell-
Erstellt eine neue Instanz des
GPUInternalError
-Objekts.
Instanz-Eigenschaften
Beispiele
Das folgende Beispiel verwendet einen Fehlerbereich, um einen vermuteten Validierungsfehler zu erfassen und ihn im Konsolenprotokoll auszugeben.
device.pushErrorScope("internal");
const module = device.createShaderModule({
code: shader, // REALLY complex shader
});
device.popErrorScope().then((error) => {
if (error) {
// error is a GPUInternalError object instance
module = null;
console.error(`An error occurred while creating shader: ${error.message}`);
}
});
Spezifikationen
Specification |
---|
WebGPU # gpuinternalerror |
Browser-Kompatibilität
BCD tables only load in the browser