浏览器原生的 GPU API,以 Vulkan/Metal 级别的语义取代 WebGL:计算着色器、多线程命令编码、两个数量级的性能提升。
什么是 WebGPU
WebGPU 是 W3C 制定的、 可直接从浏览器访问 GPU 的标准。它于 2024 年进入候选推荐(Candidate Recommendation) 阶段,并已在 Chrome 113+、Edge 和 Safari 18 中提供,Firefox 紧随其后。与 WebGL (它封装了 OpenGL ES)不同,WebGPU 提供 可与 Vulkan 和 Metal 媲美的底层访问—— 多线程命令编码、计算着色器、显式管线状态。
ProAV 为何关注
对于带有基于浏览器的控制面板的软件视频 墙,WebGPU 化解了一个此前棘手的架构难题: 客户端预览画布可以承载 20-30 路实时 4K 信号源缩略图,而不会烤干操作员的笔记本 电脑。已发布的基准测试显示,在 NVIDIA RTX 3080 上 WebGPU 能以 60 FPS 稳定渲染 200,000 个场景对象,而 WebGL 超过 15,000 个就会崩溃。
架构上的转变
- 多线程命令编码—— 渲染器不再单线程地跑在 JS 主线程上, 因此主线程得以腾出来处理 UI 交互。
- 计算着色器——在浏览 器中运行通用 GPU 负载,包括以往需要 服务器端渲染加屏幕采集串流的部分预览 流水线。
- Three.js TSL——从 r166 版本起,Three.js 提供一种着色 语言(TSL),可同时编译为 WebGPU 和 WebGL。这是现有 WebGL 代码库的实用 过渡路径。
它不做什么
WebGPU 并不取代驱动物理视频墙面板的 服务器端合成器——后者出于确定性和面板 输出吞吐量的考虑,仍需要 Vulkan 或同等的 原生 API。WebGPU 的领地是操作员的浏览器: 控制平面、预览、态势地图、叠加图形。
何时应为其做规划
2027-2028 年新建的基于浏览器的控制面板 将默认 WebGPU 可用。现有的 WebGL 面板仍可 继续工作——没有弃用压力——但一旦同类产品 转向,任何超出静态布局网格的功能都会开始 显得迟缓。