Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
GPUCommandEncoder: resolveQuerySet() Methode
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.
DieresolveQuerySet()-Methode desGPUCommandEncoder-Interfaces kodiert einen Befehl, der einGPUQuerySet auflöst, indem die Ergebnisse in einen angegebenenGPUBuffer kopiert werden.
In diesem Artikel
Syntax
resolveQuerySet(querySet, firstQuery, queryCount, destination, destinationOffset)Parameter
querySetEin
GPUQuerySet-Objekt, das das aufzulösende Abfrageset repräsentiert.firstQueryDie Indexnummer des ersten Abfragewerts, der in den Puffer kopiert werden soll.
queryCountDie Anzahl der Abfragen, die ab
firstQueryin den Puffer kopiert werden sollen.destinationEin
GPUBuffer, der den Puffer repräsentiert, in den die Abfragewerte kopiert werden sollen.destinationOffsetEine Zahl, die den Versatz in Bytes vom Anfang des Puffers angibt, an dem mit dem Schreiben der Abfragewerte begonnen wird.
Rückgabewert
Keiner (Undefined).
Validierung
Die folgenden Kriterien müssen beim Aufruf vonresolveQuerySet() erfüllt sein, andernfalls wird einGPUValidationError erzeugt und derGPUCommandEncoder wird ungültig:
- Das
destination.buffer'sGPUBuffer.usageenthält dasGPUBufferUsage.QUERY_RESOLVE-Flag. firstQueryist kleiner als die Anzahl der Abfragen inquerySet.firstQuery+queryCountist kleiner als oder gleich der Anzahl der Abfragen inquerySet.destinationOffsetist ein Vielfaches von 256.destinationOffset+ 8 ×queryCountist kleiner als oder gleichdestination.size.
Beispiele
// …const queryBuffer = device.createBuffer({ size: 1024, usage: GPUBufferUsage.QUERY_RESOLVE,});const querySet = device.createQuerySet({ type: "timestamp", count: 32,});// …const commandEncoder = device.createCommandEncoder();// Write timestamps to querySetcommandEncoder.writeTimestamp(querySet, 0);// …commandEncoder.writeTimestamp(querySet, 1);// etc.// …commandEncoder.resolveQuerySet( querySet, 0, // First query to write 16, // Number of queries to count queryBuffer, 0, // Buffer offset);// …Spezifikationen
| Specification |
|---|
| WebGPU> # dom-gpucommandencoder-resolvequeryset> |
Browser-Kompatibilität
Siehe auch
- DieWebGPU API