资讯|WebGPU必将成为Web生态的新未来!

周末加班
• 阅读 497

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就是在这条路线上最早的尝试者之一。
资讯|WebGPU必将成为Web生态的新未来!

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等设备平台。

资讯|WebGPU必将成为Web生态的新未来!

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, 链接未来世界

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
布袋罗汉 布袋罗汉
2年前
Mac跑分工具 Geekbench 6
Geekbench是一款跨平台的基准测试工具,旨在评估计算机和移动设备的性能。它可以测量CPU和GPU的性能,并提供单核和多核分数以及OpenCL分数等信息。Geekbench还提供了一个比较功能,可以将您的设备性能与其他设备进行比较。它支持macOS、W
浩浩 浩浩
4年前
Flutter 2 正式发布!
昨天凌晨,Flutter2 正式发布:开发者为_任何_平台创建美观、快速且可移植应用的能力得以更上一层楼。通过Flutter2,您可以使用相同的代码库为五种操作系统构建原生应用:iOS、Android、Windows、macOS和Linux;以及为Chrome、Firefox、Safari和Edge等浏览器打造web体验。Flutt
Stella981 Stella981
3年前
Linux应急响应(三):挖矿病毒
0x00前言随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式。新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染的成功率,通过利用永恒之蓝(EternalBlue)、web攻击多种漏洞(如Tomcat弱口令攻击、WeblogicWLS组件漏洞、Jboss
Stella981 Stella981
3年前
Go 版本入 Dubbo 生态一周年:已和 Spring Cloud、gRPC 互通
本文作者:o\\\\0去年5月,阿里开源的高性能RPC框架Dubbo从ASF毕业并晋升顶级项目,同时,还宣布Go语言版本的Dubbogo正式加入Dubbo官方生态。经过一年的发展,Dubbogo在技术和社区运营方面都已经有了不错的成绩。Dubbogo是Dubbo的完整Go语言实现,在功能实现和技术路
Stella981 Stella981
3年前
Kerberos无约束委派的攻击和防御
 0x00前言简介当ActiveDirectory首次与Windows2000Server一起发布时,Microsoft就提供了一种简单的机制来支持用户通过Kerberos对Web服务器进行身份验证并需要授权用户更新后端数据库服务器上的记录的方案。这通常被称为Kerberosdoublehopissue(双跃点问题),
Stella981 Stella981
3年前
Chrome 87 新特性解读,多年来 Chrome 性能最大提升!
今天Chrome更新了87最新版,这是今年最后一次Chrome更新了,这个版本是多年来Chrome性能获得最大提升的一次,开发者工具也进行了大幅度更新。有用户认为,原本Chrome的性能问题诟病已久,然而在新Edge出来了以后,性能突然就提升了,这显然是谷歌方面受到了Edge市场份额暴增带来的压力。另外,在Mac上的
手把手带你初探Vue 3.0 | 京东物流技术团队
距离Vue3.0正式发布已经过去一段时间了,2月7日Vue团队正式宣布Vue3正式成为新的默认版本。最近接触的新项目也使用Vue3.0来开发,因此有必要对它进行一波总结和学习。
WAIC 2024盛大召开,天翼云以全栈智算能力赋能AI时代!
7月5日,2024世界人工智能大会期间,中国电信星辰人工智能生态论坛在上海世博中心启幕。论坛以“星辰注智,焕新领航”为主题,围绕人工智能技术发展趋势,分享中国电信与产业各界在人工智能领域的创新与实践。天翼云科技有限公司董事长、总经理胡志强出席,并发表演讲《云智一体国云焕新》。他表示,人工智能已成为新一轮科技革命和产业变革的核心驱动力量。天翼云坚持科技创新驱动高质量发展,以丰富的智算资源供给、强大的智算服务能力和开放的模型应用生态,为数字经济发展注入新动能。
Web3.0时代来了,看天翼云存储资源盘活系统如何赋能新基建!(上)
当前,互联网发展正处于Web2.0向Web3.0演进的重要节点,Web3.0为数字经济发展提供了全新的场景和机遇,但风险和挑战也随之而来。Web3.0的核心理念是将数据的所有权归还给用户,允许用户控制自己的数据,在保障数据安全的前提下,实现数据的互操作性。Web3.0提出了一种去中心化的方案,可以应用于网络生态系统的任何部分,包括虚拟主机、存储、域名系统、
周末加班
周末加班
Lv1
能够慢慢培养的不是感情而是习惯
文章
3
粉丝
0
获赞
0