Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
GPUValidationError
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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
DasGPUValidationError-Interface derWebGPU API beschreibt einen Anwendungsfehler, der darauf hinweist, dass eine Operation die Validierungsbeschränkungen der WebGPU API nicht erfüllt hat.
Es repräsentiert einen der Fehlertypen, die durchGPUDevice.popErrorScope und dasuncapturederror-Ereignis sichtbar werden.
Validierungsfehler treten auf, wenn ungültige Eingaben in einem WebGPU-Aufruf gegeben werden. Diese sind konsistent, vorhersehbar und sollten nicht auftreten, sofern Ihre Anwendung korrekt gestaltet ist. Sie werden auf jedem Gerät, auf dem Ihr Code läuft, auf die gleiche Weise auftreten; daher müssen Sie sie, wenn Sie alle während der Entwicklung auftretenden Fehler behoben haben, wahrscheinlich die meiste Zeit nicht direkt beobachten. Eine Ausnahme von dieser Regel besteht, wenn Sie von Benutzern bereitgestellte Assets, Shader usw. verwenden, in diesem Fall könnte es hilfreich sein, bei der Ladezeit auf Validierungsfehler zu achten.
Hinweis:Wir haben versucht, nützliche Informationen bereitzustellen, um Ihnen zu helfen zu verstehen, warum Validierungsfehler in Ihrem WebGPU-Code auftreten, in "Validation"-Sektionen, wo es angemessen ist, die Kriterien aufführen, die erfüllt sein müssen, um Validierungsfehler zu vermeiden. Siehe zum Beispiel dieGPUDevice.createBindGroup() Validation-Sektion.
In diesem Artikel
Konstruktor
GPUValidationError()Erstellt eine neue Instanz eines
GPUValidationError-Objekts.
Instanz-Eigenschaften
Die Eigenschaftmessage wird von ihrem Elternteil,GPUError, geerbt:
messageExperimentellSchreibgeschütztEin String, der eine menschenlesbare Nachricht bereitstellt, die erklärt, warum der Fehler aufgetreten ist.
Beispiele
Das folgende Beispiel verwendet einen Fehlerbereich, um einen vermuteten Validierungsfehler zu erfassen und ihn in die Konsole zu protokollieren.
device.pushErrorScope("validation");let sampler = device.createSampler({ maxAnisotropy: 0, // Invalid, maxAnisotropy must be at least 1.});device.popErrorScope().then((error) => { if (error) { // error is a GPUValidationError object instance sampler = null; console.error(`An error occurred while creating sampler: ${error.message}`); }});Spezifikationen
| Specification |
|---|
| WebGPU> # gpuvalidationerror> |