Опубликовано: 20 июля 2023 г., Последнее обновление: 11 августа 2025 г.
WebGPU — это API веб-графики, предлагающий значительные преимущества, такие как значительное снижение нагрузки на JavaScript при обработке той же графики и более чем трёхкратное улучшение вывода моделей машинного обучения. Это стало возможным благодаря гибкому программированию графических процессоров и доступу к расширенным возможностям, недоступным в WebGL.
API разработан с учетом особенностей веб-платформы и включает в себя идиоматический JavaScript API, интеграцию с обещаниями, поддержку импорта видео и продуманный интерфейс разработчика с понятными сообщениями об ошибках.
WebGPU является результатом совместных усилий группы сообщества «GPU для Интернета» консорциума W3C , в которую вошли представители таких крупных компаний, как Mozilla, Apple, Intel и Microsoft.
Поддержка браузеров
Первоначальная версия WebGPU была доступна в Chrome 113, на устройствах ChromeOS с поддержкой Vulkan, на устройствах Windows с поддержкой Direct3D 12 и macOS. Поддержка Android появилась позже в Chrome 121 на устройствах под управлением Android 12 и более поздних версий на базе графических процессоров Qualcomm и ARM. Поддержка Linux и расширенная поддержка существующих платформ появятся в ближайшее время.
WebGPU поставляется в Firefox 141 на Windows и Safari 26 , в дополнение к реализации в Chrome.
Последние обновления о статусе реализации WebGPU можно найти на странице статуса реализации gpuweb .
Поддержка библиотеки
Многие широко используемые библиотеки WebGL уже реализуют поддержку WebGPU или уже сделали это. Это означает, что для использования WebGPU может потребоваться всего лишь однострочное изменение.
- Babylon.js имеет полную поддержку WebGPU.
- PlayCanvas анонсировал первоначальную поддержку WebGPU.
- TensorFlow.js поддерживает версии большинства операторов, оптимизированные для WebGPU.
- Поддержка Three.js WebGPU находится в разработке, см. примеры .
Библиотека Dawn для Chromium и библиотека wgpu для Firefox доступны в виде отдельных пакетов. Они обеспечивают отличную переносимость и эргономичные слои, абстрагирующие API графического процессора операционной системы. Использование этих библиотек в нативных приложениях упрощает портирование на WASM через Emscripten и Rust web-sys .
Ресурсы
WebGPU — это значимая технология, и для получения более подробной информации мы рекомендуем следующие ресурсы:
- Ознакомьтесь со спецификациями W3C для WebGPU и WGSL .
- Поэкспериментируйте с образцами и изучите WGSL с помощью экскурсии .
- Ознакомьтесь с документацией MDN .
- Ознакомьтесь с официальными пояснениями и передовым опытом .
- Узнайте больше о вычислениях на GPU и многом другом .