Spec-Zone.ru › Web APIs

GPUSupportedLimits

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

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

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

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

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

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

Интерфейс GPUSupportedLimits API WebGPU описывает поддерживаемые пределы GPUAdapter.

Объект GPUSupportedLimits для текущего адаптера доступен через свойство GPUAdapter.limits.

Обратите внимание, что вместо отчета о точных пределах каждого графического процессора, браузеры, скорее всего, сообщат о разных значениях уровней различных пределов, чтобы уменьшить уникальную информацию, доступную для определения устройства. Например, уровнями определённого предела могут быть 2048, 8192 и 32768. Если фактический предел вашего графического процессора составляет 16384, браузер все равно сообщит 8192.

Учитывая, что разные браузеры обрабатывают это по-разному, а значения уровней могут меняться со временем, сложно предоставить точное представление о том, какие значения пределов ожидать — рекомендуется тщательное тестирование.

Свойства экземпляра

Следующие пределы представлены свойствами в объекте GPUSupportedLimits. Подробные описания того, к чему относятся пределы, см. в разделе Пределы спецификации.

Название предела Значение по умолчанию
maxTextureDimension1D 8192
maxTextureDimension2D 8192
maxTextureDimension3D 2048
maxTextureArrayLayers 256
maxBindGroups 4
maxBindingsPerBindGroup 640
maxDynamicUniformBuffersPerPipelineLayout 8
maxDynamicStorageBuffersPerPipelineLayout 4
maxSampledTexturesPerShaderStage 16
maxSamplersPerShaderStage 16
maxStorageBuffersPerShaderStage 8
maxStorageTexturesPerShaderStage 4
maxUniformBuffersPerShaderStage 12
maxUniformBufferBindingSize 65536 байт
maxStorageBufferBindingSize 134217728 байт (128 МБ)
minUniformBufferOffsetAlignment 256 байт
minStorageBufferOffsetAlignment 256 байт
maxVertexBuffers 8
maxBufferSize 268435456 байт (256 МБ)
maxVertexAttributes 16
maxVertexBufferArrayStride 2048 байт
maxInterStageShaderComponents 60
maxInterStageShaderVariables 16
maxColorAttachments 8
maxColorAttachmentBytesPerSample 32
maxComputeWorkgroupStorageSize 16384 байт
maxComputeInvocationsPerWorkgroup 256
maxComputeWorkgroupSizeX 256
maxComputeWorkgroupSizeY 256
maxComputeWorkgroupSizeZ 64
maxComputeWorkgroupsPerDimension 65535

Примеры

В следующем коде мы запрашиваем значение GPUAdapter.limits maxBindGroups , чтобы проверить, равно ли оно или больше 6. Нашему теоретическому приложению идеально нужны 6 групп связей, поэтому, если возвращаемое значение больше или равно 6, мы добавляем максимальный предел 6 к объекту requiredLimits. Затем мы запрашиваем устройство с этим ограничением, используя GPUAdapter.requestDevice():

async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU not supported.");
  }

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("Couldn't request WebGPU adapter.");
  }

  const requiredLimits = {};

  // App ideally needs 6 bind groups, so we'll try to request what the app needs
  if (adapter.limits.maxBindGroups >= 6) {
    requiredLimits.maxBindGroups = 6;
  }

  const device = await adapter.requestDevice({
    requiredLimits,
  });

  // ...
}

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

Спецификация
WebGPU
# gpusupportedlimits

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
GPUSupportedLimits
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxBindGroups
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxBindGroupsPlusVertexBuffers 120 120 Нет 106 preview 121 Нет 81 Нет 25.0 121
maxBindingsPerBindGroup
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxBufferSize
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxColorAttachmentBytesPerSample
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxColorAttachments
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxComputeInvocationsPerWorkgroup
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxComputeWorkgroupSizeX
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxComputeWorkgroupSizeY
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxComputeWorkgroupSizeZ
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxComputeWorkgroupStorageSize
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxComputeWorkgroupsPerDimension
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxDynamicStorageBuffersPerPipelineLayout
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxDynamicUniformBuffersPerPipelineLayout
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxInterStageShaderComponents
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121
maxInterStageShaderVariables
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxSampledTexturesPerShaderStage
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxSamplersPerShaderStage
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxStorageBufferBindingSize
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxStorageBuffersPerShaderStage
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxStorageTexturesPerShaderStage
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxTextureArrayLayers
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxTextureDimension1D
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxTextureDimension2D
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxTextureDimension3D
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxUniformBufferBindingSize
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxUniformBuffersPerShaderStage
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxVertexAttributes
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxVertexBufferArrayStride
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
maxVertexBuffers
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
minStorageBufferOffsetAlignment
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
предварительный просмотр 121 Нет 81 Нет 25.0 121
minUniformBufferOffsetAlignment
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и 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/GPUSupportedLimits

Spec-Zone.ru

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