Spec-Zone.ru › Web APIs

GPUBuffer: метод getMappedRange()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех популярных браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология.
Перед использованием в продакшене внимательно изучите таблицу совместимости с браузерами.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Метод getMappedRange() интерфейса GPUBuffer возвращает ArrayBuffer, содержащий отображённое содержимое GPUBuffer в указанном диапазоне.

Это возможно только после успешного отображения GPUBuffer с помощью GPUBuffer.mapAsync() (это можно проверить с помощью GPUBuffer.mapState). Пока GPUBuffer отображён, он не может использоваться в командах GPU.

После завершения работы с значениями GPUBuffer, вызовите GPUBuffer.unmap() для отмены отображения, сделав его снова доступным для GPU.

Синтаксис

getMappedRange()
getMappedRange(offset)
getMappedRange(offset, size)

Параметры

offset Необязательно

Число, представляющее смещение в байтах от начала отображённого диапазона GPUBuffer до начала возвращаемого диапазона в ArrayBuffer. Если offset опущено, оно по умолчанию равно 0.

size Необязательно

Число, представляющее размер в байтах ArrayBuffer для возврата. Если size опущено, диапазон простирается до конца отображённого диапазона GPUBuffer.

Возвращаемое значение

Значение ArrayBuffer.

Валидация

При вызове getMappedRange() должны быть соблюдены следующие критерии; в противном случае будет выброшено исключение OperationError DOMException:

  • offset должно быть кратно 8.
  • Общий диапазон для отображения (size если задано, или длина отображаемого диапазона - offset если не задано) должно быть кратно 4.
  • Общий диапазон должен быть внутри границ отображаемого диапазона и не должен пересекаться с диапазонами ArrayBuffer, указанными другими активными вызовами getMappedRange().

Исключения

TypeError DOMException

Выбрасывается, если попытка отсоединить ArrayBuffer выполняется любым способом, кроме GPUBuffer.unmap().

Примеры

См. страницу основных примеров GPUBuffer.

Спецификации

Спецификация
WebGPU
# dom-gpubuffer-getmappedrange

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
getMappedRange
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
превьюВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на 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/GPUBuffer/getMappedRange

Spec-Zone.ru

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