关于前端:资讯|WebGPU必将成为Web生态的新未来

7次阅读

共计 4047 个字符,预计需要花费 11 分钟才能阅读完成。

1 WebGPU 简介

通过六年的开发和测试,往年 5 月 2 日谷歌正式发表 Chrome 将从版本 113 开始提供 WebGPU 反对,从而在 ChromeOS、Windows 和 macOS 设施上实现真切的渲染视觉效果和简单的计算。

WebGPU 为 Web 生态的倒退创始了的新可能性。它能够为沉迷式虚拟世界、交互式数据可视化、高级性能的图像和视频编辑、物理仿真、机器学习等提供反对,所有这些都能够在浏览器中运行。同时,WebGPU 还反对围绕 Web3、隐衷和平安的新用例。

Web 平台在一直地冲破线上利用场景可能性的边界,借助 WebGPU 以及 WebXR、WebTransport 和 WebCodecs 等相干规范,将来的 Web 平台在性能上效率更高,成果上更真切以及更加凋谢。尽管 WebGPU 还是一项新兴技术,但它预示了 Web 在图形渲染和计算上的广大前景。

WebGPU 提供了一个底层级 API,须要理解图形编程和 GPU 架构能力无效应用。然而在库、工具和资源的帮忙下,大部分 Web 开发人员都能够应用 WebGPU。为了更好的不便 Web 前端的开发者进行更加高效的开发工作,一些国内外团队在尝试将 WebGPU 封装到更高级别的框架中,用来构建交互式 3D 场景、运行机器学习模型等。

Orillusion 就是在这条路线上最早的尝试者之一。

2 WebGPU 倒退历史

WebGPU 诞生的目标是 代替上一代 WebGL 规范,从而满足更古代、更高效的 Web 图形 API 的需要。WebGL 在 Web 平台上曾经实现了很多令人惊叹的体验,例如 Google 地球、交互式音乐视频、3D 房地产演练等,但它也有一些局限性和挑战,如:

·不足对较新 GPU 性能的反对,例如计算着色器、光线追踪、VRS 可变着色率等。
·因为须要验证每个 API 的调用并在 CPU 和 GPU 内存之间复制数据,因而 CPU 开销和内存使用率较高。
·因为不同平台对于 OpenGL 的反对和优化存在差别,WebGL 在不同浏览器和平台之间的性能和体现也不统一。

在 2016 年,Google 向 WebGL 工作组进行了演示,摸索构建全新的 Web 图形 API 以最终取代 WebGL 的根本思维和准则。该演示提出了一个更加底层的 API 设计,它将公开古代图形 API 所反对的 GPU 底层性能,例如 command buffers, pipelines, descriptors 等。这意味着开发人员能够更好地治理和同步 GPU 资源。

2017 年,苹果的 WebKit 团队提议基于 W3C 社区成立专项 Group 小组的来负责设计这套全新的 Web 图形 API。与此同时,他们基于 Apple Metal 的概念,发表了名为“WebGPU”的概念技术证实和提案。WebGPU 名称起初被社区个人采纳作为将来规范的工作名称。苹果最后的提案后续也被改名为“WebMetal”,以防止和 WebGPU 这一名称的混同。

W3C 社区 Group 小组开始致力于定义 WebGPU 标准和 API 设计,并失去了 Mozilla、Apple、Intel 和 Microsoft 等大公司的反对。该小组基于来自大量的 Web 前端开发者和行业专家的反馈,最终目标是创立这样一个全新的 Web 图形 API:

·安全性 :API 应避免常见谬误,例如内存透露、数据争用或可能导致解体或平安问题的有效操作。
· 一致性 :API 应在不同的浏览器战争台上体现成果统一,不须要各家浏览器厂商在不同的平台上进行特定扩大。
· 表现性:API 应容许开发人员在不就义性能或灵活性的状况下充分利用古代 GPU 的全副潜在能力。

谷歌的 Chromium 团队于 2017 年初展现了第一个名为 NXT 的概念原型。NXT 实现了一个全新的 Web 图形 API,它能够基于 Chromium 内核与 OpenGL 一起运行,也能够独立于 Chromnium 内核,基于 OpenGL 和 Metal 单独运行。NXT 借鉴了 Vulkan、Direct3D 12 和 Metal 这些 Native 古代图形 API 的设计思路。

2020 年,WebGPU 进入了第一个公共工作草案阶段,这意味着该标准足够稳固,能够承受公众审查和反馈。该标准定义了 JavaScript API 和 WebGPU 着色语言 (WGSL),后者基于 SPIR-V,旨在与 HLSL 和 GLSL 等现有着色语言兼容。

2021 年,WebGPU 进入候选举荐阶段,这意味着该标准已筹备好进行施行测试和互操作性评估。该标准还定义了一些可选性能,浏览器能够依据其平台反对来启用这些性能,例如 depth-clamping 深度截取, anisotropic-filtering 各向异性过滤, texture-compression-bc 纹理压缩等。借助图形底层技术的改革窗口期,Orilusion 团队踊跃拥抱尝试新技术,在这个工夫点正式决定开发一款齐全基于 WebGPU 规范的国产 Web3D 引擎。

2023 年,WebGPU 达到了倡议举荐阶段,这意味着该标准已筹备好取得 W3C Director 的最终签字通过。该标准还定义了一些能够由浏览器在标签 flag 或前缀 prefix 下启用的试验性功能,例如光线跟踪 ray-tracing 或可变着色率 variable-rate-shading 等。

2023 年 4 月 6 日,Google 发表, 从 Chromium/Chrome113 开始(5 月 3 号公布),Chromium/Chrome 浏览器将在反对 Vulkan 的 ChromeOS 设施、macOS 和反对 Direct3D 12 的 Windows 设施上提供 WebGPU 反对。当下 Windows 平台的 Edge 浏览器和 Andorid 平台设施也曾经开始反对了 WebGPU。后续,WebGPU 也将陆续反对像 Linux 和 IOS 等设施平台。

3 WebGPU 将如何影响游戏开发

WebGPU 是将来开发游戏规则的改革者,它实现了 WebGL 无奈实现的新可能性和场景。WebGPU 的一些长处和利用案例如下:

1. 高性能图形计算:WebGPU 容许开发人员利用古代 GPU 的弱小性能在 Web 上创立令人惊叹的视觉效果和简单模仿仿真。WebGPU 能够解决大量数据的并行计算,例如粒子系统、流体动力学、物理引擎、机器学习、LLM 等。WebGPU 还能够反对高级的渲染技术,例如光线追踪、暗影、反射、环境光遮蔽等。

2. 跨平台兼容性:WebGPU 能够在不同浏览器战争台上协同工作同时保障运行成果的一致性,不须要各家浏览器厂商进行针对本人平台的特定扩大开发或解决办法来满足某些非凡需要。WebGPU 还能够在反对 Vulkan、Metal 或 Direct3D 12 的挪动设施上运行,这些设施涵盖了大多数古代智能手机和平板电脑。这意味着开发人员能够创立在任何设施上晦涩运行且成果优良的 Web 应用程序。

3. 面向未来:WebGPU 旨在扩大并适应将来的 GPU 个性和技术特点。WebGPU 能够将新性能特点设定为公开可选的扩大或试验性能,浏览器能够依据其平台反对来自定义启用这些新性能。这意味着开发人员能够提前应用和体验最新、最弱小的 GPU 性能,而无需期待新规范正式公布或冒兼容性问题的危险。

4.Web3:WebGPU 能够使 Web 应用程序与去中心化网络和协定进行交互,例如区块链、IPFS 等。WebGPU 还能够反对 Web 上平安且可验证的计算,例如 zero-knowledge proofs(零常识证实)、(homomorphic encryption)同态加密等。这意味着开发人员能够创立更通明、更值得信赖、更有弹性的 Web 应用程序。

5.Metaverse:WebGPU 能够使应用程序在 Web 上创立身临其境的交互式虚拟世界和体验。WebGPU 能够反对大规模场景和环境、简单的动画和交互、真切的光照和材质、空间音频和触觉等。这意味着开发人员能够创立更具吸引力、社交性和乐趣的 Web 应用程序。

6.AIGC: 因为 WebGPU 提供了 compute shader 计算着色器,能够让大规模并行计算不在依靠于基于像素的“模仿”计算机制,真正能够使得机器学习在 Web 环境中得以全面利用。Tensorflow,PyTorch 都曾经开始把计算后端对接 WebGPU 规范。最近火爆的 WebLLM 等我的项目,基于 WebGPU 规范也曾经胜利的将大模型 LLM 在浏览器环境中齐全独立运行在了端侧设施上,通过模型压缩,一个链接就能够在本地应用 LLM 的推理能力。将来合作式 AIGC 内容创作工作流“训练在云,推理在端”的模式必然会更加遍及和支流,无效升高云端算力压力,提高效率。

Orillusion 团队三年前开始关注 WebGPU 倒退,通过两年多研发,屡次框架重构,性能调优后,Orillusoin 引擎在明天以开源的模式正式跟大家见面!咱们致力于在浏览器中实现桌面级的渲染成果,反对超大简单场景的 3D 出现,为 3D 场景暴发时代提供底层引擎根底工具。

https://www.bilibili.com/video/BV1Lu411P7tp/?aid=533048923&ci…

Github 地址:
https://github.com/Orillusion/orillusion
文档教程:
https://www.orillusion.com/guide/

https://www.bilibili.com/video/BV1FV4y1o7ib/?aid=867712777&ci…


Orillusion 致力于打造全世界第一款齐全开源基于 WebGPU 规范的一种轻量级渲染引擎, 指标是在浏览器中实现桌面级的渲染成果,反对超大简单场景的 3D 出现。易上手,易分享,易迭代,易合作、成本低,跨平台是咱们的外围劣势,咱们将为 3D 场景暴发时代提供引擎根底工具。

将来咱们将会继续把最干货最前沿的 WebGPU 技术分享给每一位社区成员,也欢送大家为 Orillusion 开源社区做出本人的奉献。咱们始终深信,开源社区的技术留痕是每一位技术人员最高尚的谋求!因而,咱们尊重,咱们认可,咱们更期待,退出 Orillusion,让咱们共同进步!

——Link uncharted, 链接将来世界

正文完
 0