顾名思义,WebGPU是GPU硬件(显卡)向Web(浏览器)开放的低级应用程序接口(API),包括图形和计算两方面的接口。而WebGL是OpenGL ES低级3D图形API的Web版本。WebGPU和WebGL两者都是对GPU功能的抽象,都是为了提供操作GPU的接口。区别主要在于:
WebGPU是基于Vulkan、Metal和Direct3D 12,而WebGL基于OpenGL。前者的引擎较新,设计上更好的反映了GPU硬件技术这些年新的发展,能提供更好的性能,支持多线程,采用了偏面向对象的编程风格。
我们可以把WebGPU看成是下一代WebGL,从技术先进性上看是可以替代WebGL的,不过这恐怕会是一个相对长期的过程。另外这种替代只对新的项目或者已有大型游戏项目的重构有意义,一般性的WebGL应用,不值得花费时间精力来做这个应用层面的重构。此外随着主流开发框架(如babylon.js)逐渐增加渲染层对WebGPU的支持,应用层面或许可以平滑迁移。
作者:iefreer
链接:https://www.zhihu.com/question/315103318/answer/909915913
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。