GPUDevice: свойство features
Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментальный: Это экспериментальная технология
Тщательно проверьте таблицу совместимости браузеров перед использованием в производстве.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Чтение только свойство features интерфейса GPUDevice возвращает объект GPUSupportedFeatures, который описывает дополнительную функциональность, поддерживаемую устройством. Только те функции, которые были запрошены при создании устройства (т. е. когда вызывается GPUAdapter.requestDevice()), включены.
Примечание: Не все функции будут доступны WebGPU во всех браузерах, которые его поддерживают, даже если эти функции поддерживаются базовым оборудованием. См. GPUAdapter.features для получения более подробной информации.
Значение
Экземпляр объекта GPUSupportedFeatures. Это объект типа «множество».
Примеры
В следующем коде мы проверяем, доступна ли функция texture-compression-astc у GPUAdapter. Если доступна, то мы добавляем её в массив requiredFeatures, и запрашиваем устройство с этим требованием к функциям, используя GPUAdapter.requestDevice().
Затем мы выводим все элементы набора GPUDevice.features в консоль. Этот набор должен содержать только один элемент — texture-compression-astc — так как это была единственная функция, запрошенная при создании устройства.
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 requiredFeatures = [];
if (adapter.features.has("texture-compression-astc")) {
requiredFeatures.push("texture-compression-astc");
}
const device = await adapter.requestDevice({
requiredFeatures,
});
device.features.forEach((value) => {
console.log(value);
});
// ...
}
Спецификации
| Спецификация |
|---|
| WebGPU # dom-gpudevice-features |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
features |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
previewВ настоящее время поддерживается только на Linux и Windows. |
99В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
preview | 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/features