Обзор веб-графического процессора

Франсуа Бофор
François Beaufort

Опубликовано: 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 — это значимая технология, и для получения более подробной информации мы рекомендуем следующие ресурсы: