Chrome выпускает новый API веб-графики WebGPU
Chrome выпускает новый API веб-графики WebGPU
После нескольких лет разработок команда Chrome выпустила новый API веб-графики WebGPU, который позволяет использовать высокопроизводительную 3D-графику и параллельные вычисления в Интернете.
Команда Chrome с радостью сообщает, что WebGPU теперь доступен по умолчанию в Chrome 113, который в настоящее время находится в канале Beta. WebGPU - это новый API веб-графики, где предлагаются огромные преимущества, такие как значительное снижение нагрузки на JavaScript при одинаковой графике и более чем трехкратное улучшение выводов моделей машинного обучения. Это стало возможным благодаря более гибкому программированию на GPU и получению доступа к расширенным возможностям, которые не предоставляет WebGL.
Первоначальный выпуск WebGPU доступен для ChromeOS, macOS и Windows. Поддержка других платформ появится позже в этом году.
WebGPU - это новый API для веб-графики, который раскрывает современные аппаратные возможности и позволяет выполнять операции рендеринга и вычислений на GPU, подобно Direct3D 12, Metal и Vulkan. В отличие от API семейства WebGL, WebGPU предоставляет доступ к более продвинутым возможностям GPU и обеспечивает первоклассную поддержку общих вычислений на GPU. API разработан с учетом особенностей веб-платформы и включает в себя идиоматический JavaScript API, поддержку импорта видео и опыт разработчика с отличными сообщениями об ошибках.
Этот первоначальный выпуск WebGPU послужит строительным блоком для будущих обновлений и улучшений. API будет предлагать более продвинутые графические функции, поэтому рекомендуется отправлять разработчикам запросы на дополнительные возможности. Команда Chrome также планирует предоставить более глубокий доступ к шейдерным ядрам для еще большей оптимизации машинного обучения и дополнительной эргономики в WGSL, WebGPU Shading Language.
WebGPU - это результат совместных усилий группы сообщества W3C "GPU для Web", в которую входят представители таких крупных компаний, как Mozilla, Apple, Intel и Microsoft. После шести лет разработок (90 участников, 2000 коммитов, 3000 проблем), начиная с первого проекта в 2017 году, первая реализация теперь доступна в Chrome, а поддержка Firefox и Safari находится в процессе разработки.
Библиотека Dawn для Chromium и библиотека wgpu для Firefox доступны в виде отдельных пакетов, они предлагают отличную переносимость и эргономичные слои, абстрагирующие API GPU ОС. Использование этих библиотек в нативных приложениях также облегчает перенос на WASM через Emscripten и Rust web-sys.
#Поддержка браузеров
Начальный выпуск WebGPU доступен в Chrome 113 на устройствах ChromeOS с поддержкой Vulkan, устройствах Windows с поддержкой Direct3D 12 и macOS. Linux, Android и расширенная поддержка существующих платформ появятся в ближайшее время.
В настоящее время WebGPU находится в стадии разработки в Firefox и Safari, в дополнение к первой реализации в Chrome.
#Поддержка библиотек
Многие широко используемые библиотеки WebGL уже находятся в процессе реализации поддержки WebGPU или уже сделали это. Это означает, что использование WebGPU может потребовать изменения всего одной строки:
Babylon.js уже имеет полную поддержку WebGPU, см. демо.
PlayCanvas объявил о начальной поддержке WebGPU.
TensorFlow.js поддерживает WebGPU-оптимизированные версии большинства операторов.
Three.js поддерживает WebGPU, см. примеры.