WEBGL_debug_renderer_info Erweiterung

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Die WEBGL_debug_renderer_info Erweiterung ist Teil der WebGL API und stellt zwei Konstanten mit Informationen über den Grafiktreiber für Debugging-Zwecke bereit.

Abhängig von den Datenschutzeinstellungen des Browsers könnte diese Erweiterung nur in privilegierten Kontexten verfügbar sein. Im Allgemeinen sollten die Informationen über den Grafiktreiber nur in Ausnahmefällen genutzt werden, um Ihre WebGL-Inhalte zu optimieren oder um Probleme mit der GPU zu debuggen. Die Methode WebGLRenderingContext.getParameter() kann Ihnen helfen, zu erkennen, welche Funktionen unterstützt werden, und das Attribut failIfMajorPerformanceCaveat ermöglicht Ihnen zu steuern, ob ein Kontext überhaupt zurückgegeben werden soll, wenn die Leistung drastisch langsam wäre.

WebGL-Erweiterungen sind verfügbar über die Methode WebGLRenderingContext.getExtension(). Für weitere Informationen siehe auch Verwendung von Erweiterungen im WebGL-Tutorial.

Hinweis: Abhängig von den Datenschutzeinstellungen des Browsers könnte diese Erweiterung nur in privilegierten Kontexten verfügbar oder überhaupt nicht funktionsfähig sein. In Firefox wird diese Erweiterung deaktiviert, wenn privacy.resistFingerprinting auf true gesetzt ist.

Diese Erweiterung ist sowohl für WebGL1 als auch für WebGL2 Kontexte verfügbar.

Konstanten

ext.UNMASKED_VENDOR_WEBGL

Hersteller-String des Grafiktreibers.

ext.UNMASKED_RENDERER_WEBGL

Renderer-String des Grafiktreibers.

Beispiele

Mit Hilfe dieser Erweiterung können privilegierte Kontexte Debug-Informationen über den Grafiktreiber des Benutzers abrufen:

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");

const debugInfo = gl.getExtension("WEBGL_debug_renderer_info");
const vendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);

console.log(vendor);
console.log(renderer);

Spezifikationen

Specification
WebGL WEBGL_debug_renderer_info Khronos Ratified Extension Specification

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch