Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

WebGPU - это рабочее название будущего веб-стандарта и JavaScript API для ускоренной графики и вычислений , направленных на обеспечение «современной трехмерной графики и вычислительных возможностей». Он разработан графическим процессором W3C для группы веб- сообщества с инженерами из Apple , Mozilla , Microsoft , Google и других. [1]

В отличие от WebGL , WebGPU не является прямым портом какого-либо существующего собственного API. Он основан на концепциях Vulkan , Metal и Direct3D 12 и предназначен для обеспечения высокой производительности этих современных графических API на мобильных и настольных платформах. [2]

Первый концептуальный прототип под названием NXT был продемонстрирован в начале 2017 года командой Chromium .

История [ править ]

8 июня 2016 года Google показал презентацию «API явной веб-графики» рабочей группе WebGL (во время личной встречи, проводимой раз в два года). [3] В презентации были изучены основные идеи и принципы создания нового API, который в конечном итоге заменит WebGL, также известный как «WebGL Next».

24 января 2017 года компания Khronos провела встречу без IP, посвященную обсуждению идей "WebGL Next", совпавшую с заседанием рабочей группы WebGL в Ванкувере. [4] Команда Google представила прототип NXT, реализующий новый API, который может работать в Chromium с OpenGL или автономно с OpenGL и Metal. NXT заимствовал концепции всех API-интерфейсов Vulkan, Direct3D 12 и Metal. Представители Apple и Mozilla также продемонстрировали свои прототипы, построенные на Safari и Servo соответственно, оба из которых точно копируют Metal API.

Рабочая группа W3C [ править ]

7 февраля 2017 года команда Apple WebKit предложила создать группу сообщества W3C для разработки API. В то же время они объявили о техническом доказательстве концепции и предложения под названием «WebGPU», основанном на концепциях Apple Metal . [5] [6] [7] Название WebGPU было позже принято группой сообщества в качестве рабочего названия для будущего стандарта, а не просто первоначального предложения Apple. [2] Первоначальное предложение было переименовано в «WebMetal», чтобы избежать дальнейшей путаницы. [8]

Группа сообщества W3C «GPU для Интернета» была запущена 16 февраля 2017 года. В это время все компании Apple, Google и Mozilla проводили эксперименты в этой области, но только предложение Apple было официально представлено в «gpuweb-предложениях». репозиторий. [9] [10] [11] Вскоре после этого, 21 марта 2017 года, Mozilla представила предложение по WebGL Next в репозитории Khronos, основанное на дизайне Vulkan. [12] [13]

1 июня 2018 года команда Google Chrome объявила о намерении внедрить будущий стандарт WebGPU , сославшись на «решение наиболее важных проблем» в рамках кросс-браузерной стандартизации. [2]

Технология [ править ]

WebGPU использует собственный язык затенения, называемый WGSL, который легко переводится в SPIR-V . [14] Этот выбор является компромиссом между тремя предложениями: текстовый WebMetal от Apple, текстовый Web HLSL / WSL от Apple Safari и двоичный SPIR-V от Mozilla.

Реализация [ править ]

И Chrome, и Firefox поддерживают WebGPU с помощью SPIR-V, при этом продолжается работа над интерфейсом WGSL. Safari поддерживает WebGPU с WSL. [15]

См. Также [ править ]

  • Direct3D 12
  • Группа Хронос
  • Металл (API)
  • OpenGL
  • Вулкан (API)
  • WebCL
  • WebGL
  • Веб-платформа

Ссылки [ править ]

  1. ^ «GPU для группы веб-сообщества» . w3.org . Проверено 11 сентября 2018 .
  2. ^ Валлез, Корентин. «Явный API веб-графики» . Проверено 25 июня 2019 .
  3. ^ Валлез, Корентин; Ниномия, Кай. «Следующее расследование WebGL» . Проверено 25 июня 2019 .
  4. ^ «3D-графика нового поколения в Интернете» . WebKit . 2017-02-07 . Проверено 13 августа 2018 .
  5. ^ «Apple стремится позиционировать Metal как часть нового стандарта 3D-графики для Интернета» . AppleInsider . Проверено 13 августа 2018 .
  6. ^ Клэберн, Томас (2017-02-08). «Apple, страдающая аллергией на веб-стандарты, представляет WebGPU, стандарт веб-графики» . Проверено 14 августа 2017 .
  7. ^ "Прототип и демонстрация WebGPU" . WebKit . 2017-04-05 . Проверено 10 января 2019 .
  8. ^ Джексон, Дин (2017-02-16). «Добро пожаловать и начало работы» . public-gpu (список рассылки) . Проверено 11 сентября 2018 .
  9. ^ Джексон, Дин. «Добавить предложение Apple WebGPU» . Проверено 8 марта 2019 .
  10. ^ Malyshau, Dzmitry. «Создание прототипа нового 3D API для Интернета» . Проверено 16 декабря 2016 .
  11. ^ Malyshau, Dzmitry (2017-03-21). «Определение веб-платформы» . Проверено 11 сентября 2018 .
  12. ^ Malyshau, Dzmitry. «Вклад Mozilla: Obsidian API» . Проверено 8 марта 2019 .
  13. ^ Спецификация языка затенения WebGPU
  14. ^ «Статус реализации» . GitHub . gpuweb.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Спецификация WebGPU
  • gpuweb на GitHub
  • Предложение API WebGPU для Apple Webkit в 2017 г.
  • GPU в группе веб-сообщества W3C