GPU
Ограниченная доступность
Эта функция не относится к Baseline, поскольку она не работает в некоторых из самых широко используемых браузеров.
Экспериментальная: Это экспериментальная технология
Перед использованием в производстве внимательно проверьте таблицу совместимости браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Интерфейс GPU API WebGPU — это отправная точка для использования WebGPU. Он может быть использован для возвращения GPUAdapter, из которого можно запросить устройства, настроить функции и ограничения и многое другое.
Объект GPU для текущего контекста доступен через свойства Navigator.gpu или WorkerNavigator.gpu.
Свойства экземпляра
-
wgslLanguageFeaturesЭкспериментальная Только для чтения -
Объект
WGSLLanguageFeatures, который сообщает об расширениях языка WGSL, поддерживаемых реализацией WebGPU.
Методы экземпляра
-
requestAdapter()Экспериментальная -
Возвращает
Promise, который завершается объектомGPUAdapter. Из этого объекта можно запроситьGPUDevice, который является основным интерфейсом для использования функциональности WebGPU. -
getPreferredCanvasFormat()Экспериментальная -
Возвращает оптимальный формат текстуры холста для отображения 8-битной глубины, контента с стандартным динамическим диапазоном на текущей системе.
Примеры
Запрос адаптера и устройства
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 device = await adapter.requestDevice();
//...
}
Настройка GPUCanvasContext с оптимальным форматом текстуры
const canvas = document.querySelector("#gpuCanvas");
const context = canvas.getContext("webgpu");
context.configure({
device: device,
format: navigator.gpu.getPreferredCanvasFormat(),
alphaMode: "premultiplied",
});
Спецификации
| Спецификация |
|---|
| WebGPU # gpu-interface |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
GPU |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превьюВ настоящее время поддерживается только на Linux и Windows. |
99В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превью | 121 | Нет | 81 | Нет | 25.0 | 121 |
getPreferredCanvasFormat |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превьюВ настоящее время поддерживается только на Linux и Windows. |
99В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превью | 121 | Нет | 81 | Нет | 25.0 | 121 |
requestAdapter |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превьюВ настоящее время поддерживается только на Linux и Windows. |
99В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превью | 121 | Нет | 81 | Нет | 25.0 | 121 |
wgslLanguageFeatures |
115В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
115В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
Нет | 101В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превью | 121 | Нет | 81 | Нет | 25.0 | 121 |
См. также
- The 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/GPU