Spec-Zone.ru › Web APIs

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API