Web Analytics Made Easy - StatCounter
Главная Блог Safari Preview 91 получает бета-поддержку JavaScript WebGPU API и WSL

Safari Preview 91 получает бета-поддержку JavaScript WebGPU API и WSL

Safari Preview 91 получает бета-поддержку JavaScript WebGPU API и WSL

Введение

Apple объявила, что Safari Technology Preview 91 теперь поддерживает бета-версию нового графического API WebGPU и его языка шейдинга, Web Shading Language ( WSL ). Вы можете включить бета-поддержку WebGPU, выбрав Экспериментальные функции> WebGPU в меню разработчика.

JavaScript API WebGPU

WebGPU - это новый графический API-интерфейс для Интернета, целью которого является предоставление « современных возможностей 3D-графики и вычислений». Он является преемником WebGL, API-интерфейса JavaScript, который позволяет выполнять рендеринг 3D и 2D-графики в любом совместимом браузере без необходимости в плагине.

Он разрабатывается в графическом процессоре W3C для группы веб-сообщества с инженерами из Apple, Mozilla, Microsoft, Google и других.

Сравнение WebGPU и WebGL

WebGPU отличается от WebGL тем, что он не является прямым портом какого-либо существующего нативного API, но сходство между ними состоит в том, что к ним обоим обращаются через JavaScript.

Однако у команды есть планы сделать ее доступной через WebAssembly и в будущем.

В WebGL рендеринг одного объекта требует написания серии вызовов с изменением состояния. С другой стороны, WebGPU объединяет все вызовы с изменением состояния в один объект с именем объекта состояния конвейера.

Он проверяет состояние после создания конвейера, чтобы предотвратить дорогостоящий анализ состояния внутри вызова отрисовки. Кроме того, упаковка всего конвейерного состояния в один вызов функции уменьшает количество обменов между Javascript и механизмом браузера C ++ WebKit.

Точно так же ресурсы в WebGL связаны один за другим, в то время как WebGPU объединяет их в группы связывания . Команда объясняет: « В обоих этих примерах несколько объектов собираются вместе и выпекаются в аппаратно-зависимом формате, когда браузер выполняет проверку.

Возможность отделить валидацию объекта от использования объекта означает, что автор приложения имеет больший контроль над тем, когда в жизненном цикле их приложения происходят дорогостоящие операции».

Основная сфера деятельности WebGPU - обеспечить повышенную производительность и простоту использования по сравнению с WebGL. Команда сравнила производительность двух приложений, используя тест 2D-графики, MotionMark.

Тест производительности, который они написали, измерял, сколько треугольников, каждый из которых имел разные свойства, отображалось при сохранении 60 кадров в секунду. Каждый треугольник визуализировался с использованием разных групп вызовов и вызовов. WebGPU показал значительно лучшую производительность, чем WebGL.

WHLSL

WHLSL теперь переименован в WSL

В ноябре прошлого года Apple предложила новый язык шейдинга для WebGPU под названием Web High-Level Shading Language (WHLSL), который был совместим с HLSL. Получив отзывы сообщества, они обновили язык, чтобы он был совместим с OpenGL Shading Language (GLSL), который является довольно распространенным языком среди веб-разработчиков. Apple переименовала эту версию языка в Web Shading Language (WSL) и называет ее «простой, низкоуровневый и быстрый для компиляции».

«Сегодня многие веб-разработчики используют GLSL в WebGL, поэтому потенциальный браузер, принимающий другой язык высокого уровня, такой как HLSL, не вполне удовлетворит их потребности. Кроме того, высокоуровневый язык, такой как HLSL, не может быть точно выполнен на каждой платформе и графическом API, для которых предназначен WebGPU », - написала команда. Проверьте официальное объявление от Apple, чтобы узнать более подробно.

источник
иллюстрация