WebGPU
WebGPU是一种 API,它为Web公开GPU硬件的功能。该API从头开始设计,可有效映射到(2014 年后)本机 GPU API。WebGPU与WebGL无关,也没有明确针对OpenGL ES。
WebGPU将物理GPU硬件视为GPUAdapters。它通过管理资源的适配器和执行命令的GPUDevice设备的s提供与适配器的连接。可能有自己的内存,可以高速访问处理单元。是GPU 内存支持的物理资源。并且是用户记录命令的容器。包含着色器代码。其他资源(例如或)配置GPU 使用物理资源的方式。 [2]
WebGPU和WebGL的第一个重要区别是WebGPU将资源管理、工作准备和提交给GPU(图形处理单元)分开。在 WebGL 中,单个上下文对象负责所有事情,并且它包含许多关联的状态。相反,WebGPU 将它们分成多个不同的上下文:
-
GPUDevice创建资源,例如纹理和缓冲区。
-
GPUCommandEncoder允许对单个命令进行编码,包括渲染和计算过程。
-
完成后,它变成GPUCommandBuffer对象,可以提交给GPUQueueGPU 执行。
-
可以将渲染结果呈现给 HTML 画布。或多个画布。或者根本没有画布——使用纯计算工作流。 [1]
WebGPU(1张)
参考资料
- 1
A Taste of WebGPU in Firefox - Mozilla Hacks - the Web developer blog.mozilla.2020-01-05 [引用日期2023-02-19]
- 2
WebGPU.W3C.2020-01-05 [引用日期2023-02-19]
漫思
浙公网安备 33010602011771号