下一代图形和计算API-WebGPU

admin 2024年8月22日09:12:36评论7 views字数 1520阅读5分4秒阅读模式

WebGPU是由W3C GPU for the Web社区组所发布的规范,目标是允许网页代码以高性能且安全可靠的方式访问GPU功能。谷歌在Chrome 113 Beta版本中已正式启用全新的WebGPU图形API,开发人员能够使用底层系统的GPU进行高性能计算并绘制可在浏览器中渲染的复杂图形。WebGPU还为现代GPU提供更好的兼容、支持更通用的GPU计算、更快的操作以及能够访问到更高级的GPU特性。

{背景}

1WebGL的时代

在介绍WebGPU前,不得不提一下WebGL。WebGL是 OpenGL ES2.0 图形库的JavaScript端口,它允许web页面直接将渲染计算传递给设备的GPU,这会以非常高的速度处理,并在 内渲染结果。可以说,WebGL 在2011年左右首次出现后,在图形功能方面彻底改变了web。

2WebGL的问题

虽然WebGL功能强大,但依旧存在一些问题,主要包括以下几个方面:

1.硬件兼容性:WebGL需要在支持OpenGL ES2.0的硬件下才能运行,而一些老旧的设备并不支持该标准。

2.WebGL完全基于绘制图形并将它们渲染到画布的用例。它并不能很好地处理通用GPU(GPGPU)的计算。GPGPU计算对于很多不同的用例显得越来越重要,例如那些基于机器学习的模型。

3.无论是在同时渲染的对象方面,还是新渲染特性的使用方面,3D图形应用程序的需求都在逐渐变高。

如今,源自上世纪90年代的OpenGL几乎已经被PC和智能手机抛弃,现在主流的图形API则是Direct12、Meta和Vulkan。在WebGL的时代里,Web环境的3D渲染和Native环境有着5年以上的差距,Web平台的图形渲染能力没有跟上现代硬件的发展,于是WebGPU走上了舞台。

{WebGPU的进步}

下一代图形和计算API-WebGPU

图片来源于网络

WebGPU解决了这些问题,其提供了与现代GPU API兼容的更新的通用架构,会让你感到更加丝滑。它支持图形渲染,同时对GPGPU计算也有一流的支持。在CPU端渲染单个对象的成本要低得多,并且它支持现代化的GPU渲染特性,例如,基于计算的粒子和用于后期处理的滤镜,如颜色效果、锐化和景深模拟。此外,它也可以直接在GPU上处理诸如剔除和骨骼动画模型等耗费大量计算资源的任务。

#高性能

WebGPU专为现代图形硬件设计,充分利用了GPU的并行计算能力。通过显式的资源管理、多线程渲染和低开销的API调用,WebGPU可以实现比WebGL更高的性能。

#低功耗

WebGPU支持自动功耗管理,可以根据设备的性能和功耗需求自动调整渲染质量。这使得WebGPU在移动设备和笔记本电脑上更加节能。

#易用性

WebGPU使用JavaScript和WebIDL作为编程接口,使得开发者可以使用熟悉的Web技术进行开发。此外,WebGPU还提供了一套统一的着色语言(WGSL),简化了跨平台开发的复杂性。

#安全性

WebGPU在设计时充分考虑了安全性,通过严格的资源验证和错误处理机制,确保了在浏览器环境中的安全运行。

#可扩展性

WebGPU支持可扩展的功能集,可以根据硬件和软件的发展逐步引入新的特性,确保API的长期可用性。

{WebGPU的未来}

从时间上来看,WebGPU的出现时间稍晚,但也正因如此,让WebGPU得以借助次时代图形API的经验,做出更好的设计。未来随着WebGPU标准在主流浏览器的逐步落地,其能力将给H5、小程序等的内容创作与性能表现带来更多可能,也一定会在Web平台出现不逊于原生app的图形渲染效果,同时基于Web端的优势给用户带来更轻量和便捷的体验。

下一代图形和计算API-WebGPU

文章作者:陶宏鋆

原文始发于微信公众号(EBCloud):下一代图形和计算API-WebGPU

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月22日09:12:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   下一代图形和计算API-WebGPUhttp://cn-sec.com/archives/3084188.html

发表评论

匿名网友 填写信息