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
GPUQuerySetals Wert derocclusionQuerySet-Deskriptoreigenschaft bereitgestellt werden, wennGPUCommandEncoder.beginRenderPass()aufgerufen wird, um einen Render-Durchlauf auszuführen. -
Zeitstempelabfragen erlauben es Anwendungen, Zeitstempel in ein
GPUQuerySetzu schreiben. Um eine Zeitstempelabfrage auszuführen, müssen entsprechendeGPUQuerySets innerhalb des Wertes dertimestampWrites-Deskriptoreigenschaft bereitgestellt werden, wennGPUCommandEncoder.beginRenderPass()für einen Render-Durchlauf oderGPUCommandEncoder.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
countSchreibgeschützt-
Eine Zahl, die die Anzahl der vom
GPUQuerySetverwalteten 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. typeSchreibgeschützt-
Ein enumerierter Wert, der den Typ der vom
GPUQuerySetverwalteten 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:
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
Loading…
Siehe auch
- Die WebGPU API