GPUDevice: метод createQuerySet()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости с браузерами.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Метод createQuerySet() интерфейса GPUDevice создаёт GPUQuerySet, который можно использовать для записи результатов запросов на проходах, таких как запросы на непрозрачность или временные метки.
Синтаксис
createQuerySet(descriptor)
Параметры
descriptor-
Объект, содержащий следующие свойства:
count-
Число, указывающее количество запросов, которые будут управляться полученным
GPUQuerySet. labelНеобязательно-
Строка, предоставляющая метку, которую можно использовать для идентификации объекта, например, в сообщениях
GPUErrorили предупреждениях консоли. type-
Перечисление, указывающее тип запросов, которые будут управляться полученным
GPUQuerySet. Возможные значения:"occlusion"-
Запросы непрозрачности доступны на проходах отрисовки для запроса количества фрагментных выборок, которые проходят все проверки на фрагментном уровне для набора команд отрисовки (включая циклические вычисления, маски выборки, альфа-перекрытие, стереотипы и проверки глубины). Для выполнения запроса на непрозрачность необходимо предоставить соответствующий
GPUQuerySetв качестве значения свойстваocclusionQuerySetдескриптора при вызовеGPUCommandEncoder.beginRenderPass()для выполнения прохода отрисовки. "timestamp"-
Запросы временных меток позволяют приложениям записывать временные метки в
GPUQuerySet. Для выполнения запроса временных меток необходимо предоставить соответствующиеGPUQuerySetвнутри значения свойстваtimestampWritesдескриптора при вызовеGPUCommandEncoder.beginRenderPass()для выполнения прохода отрисовки илиGPUCommandEncoder.beginComputePass()для выполнения вычислительного прохода. В качестве альтернативы, вы можете выполнить единственный запрос временной метки в любое время, вызвавGPUCommandEncoder.writeTimeStamp()с соответствующимGPUQuerySetв качестве параметра.Примечание: Необходимо включить
timestamp-queryфункцию, чтобы использовать запросы временных меток.
Возвращаемое значение
Экземпляр объекта GPUQuerySet.
Проверка
При вызове createQuerySet() должны быть соблюдены следующие критерии, в противном случае генерируется GPUValidationError и возвращается недействительный объект GPUQuerySet:
-
Значение
countдолжно быть меньше или равно 4096.
Примеры
В следующем фрагменте кода создается GPUQuerySet, который хранит 32 результата запросов на непрозрачность:
const querySet = device.createQuerySet({
type: "occlusion",
count: 32,
});
Спецификации
| Спецификация |
|---|
| WebGPU # dom-gpudevice-createqueryset |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
createQuerySet |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
Нет | 99В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
предварительная версия | 121 | Нет | 81 | Нет | 25.0 | 121 |
timestamp |
121В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
121В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
Нет | 107В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
Нет | 121 | Нет | 81 | Нет | 25.0 | 121 |
См. также
- API WebGPU
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GPUDevice/createQuerySet