GPUAdapter: свойство limits
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во многих широко используемых браузерах.
Экспериментальная: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости с браузерами.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Чтение только свойство limits интерфейса GPUAdapter возвращает объект GPUSupportedLimits, описывающий поддерживаемые адаптером ограничения.
Обратите внимание, что вместо того, чтобы сообщать точные ограничения каждого графического процессора, браузеры, вероятно, будут сообщать разные значения уровня для различных ограничений, чтобы уменьшить уникальную информацию, доступную для идентификации по отпечатку устройства. Например, уровнями определенного ограничения могут быть 2048, 8192 и 32768. Если фактическое ограничение вашего графического процессора составляет 16384, браузер всё равно сообщит 8192.
Поскольку разные браузеры обрабатывают это по-разному, а значения уровней могут меняться со временем, трудно предоставить точное описание ожидаемых значений ограничений — рекомендуется тщательное тестирование.
Значение
Экземпляр объекта GPUSupportedLimits.
Примеры
В следующем коде мы запрашиваем значение 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 # dom-gpuadapter-limits |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
limits |
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/GPUAdapter/limits