GPUQuerySet

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 GPUQuerySet-Schnittstelle der WebGPU API wird verwendet, um die Ergebnisse von Abfragen auf Durchläufen aufzuzeichnen, wie zum Beispiel Okklusions- oder Zeitstempelabfragen.

  • Okklusionsabfragen sind auf Render-Durchläufen verfügbar, um abzufragen, ob Fragmentproben alle Tests pro Fragment für einen Satz von Zeichenbefehlen bestehen (einschließlich Scheren, Probenmasken, Alpha-to-Coverage, Schablonen- und Tiefentests). Um eine Okklusionsabfrage auszuführen, muss ein entsprechendes GPUQuerySet als Wert der occlusionQuerySet-Deskriptoreigenschaft bereitgestellt werden, wenn GPUCommandEncoder.beginRenderPass() aufgerufen wird, um einen Render-Durchlauf auszuführen.

  • Zeitstempelabfragen erlauben es Anwendungen, Zeitstempel in ein GPUQuerySet zu schreiben. Um eine Zeitstempelabfrage auszuführen, müssen entsprechende GPUQuerySets innerhalb des Wertes der timestampWrites-Deskriptoreigenschaft bereitgestellt werden, wenn GPUCommandEncoder.beginRenderPass() für einen Render-Durchlauf oder GPUCommandEncoder.beginComputePass() für einen Berechnungsdurchlauf aufgerufen wird.

Hinweis: Das timestamp-query-Feature muss aktiviert sein, um Zeitstempelabfragen zu verwenden.

Ein GPUQuerySet-Objekt wird mit der Methode GPUDevice.createQuerySet() erstellt.

Instanz-Eigenschaften

count Schreibgeschützt

Eine Zahl, die die Anzahl der vom GPUQuerySet verwalteten Abfragen angibt.

label

Ein String, der ein Bezeichner zur Verfügung stellt, der verwendet werden kann, um das Objekt zu identifizieren, zum Beispiel in GPUError-Meldungen oder Konsolenwarnungen.

type Schreibgeschützt

Ein enumerierter Wert, der den Typ der vom GPUQuerySet verwalteten Abfragen angibt.

Instanz-Methoden

destroy()

Zerstört das GPUQuerySet.

Beispiele

Der folgende Ausschnitt erstellt ein GPUQuerySet, das 32 Okklusionsabfrageergebnisse enthält, und gibt dann den type und count zurück:

js
const querySet = device.createQuerySet({
  type: "occlusion",
  count: 32,
});

console.log(querySet.count); // 32
console.log(querySet.type); // "occlusion"

Spezifikationen

Specification
WebGPU
# gpuqueryset

Browser-Kompatibilität

Siehe auch