你有没有想过一个问题:你电脑里那块几千块的显卡,平时都在干嘛?

渲染个圆角盒子?画几个阴影?完了还得等显卡驱动更新才能正常显示。

暴殄天物啊。

今天我们就来聊聊 WebGPU——这个让浏览器终于能用上 GPU 实力的新技术。但别急着高潮,我先给你泼盆冷水:不是所有场景都值得用 WebGPU

一位前端工程师做了三个真实 benchmark,结果把我整不会了。

粒子模拟:GPU 居然没快多少?

第一个测试是粒子模拟——这几乎是 WebGPU 教程里的"Hello World"。

每个粒子有两个属性:位置 (x, y) 和速度 (vx, vy)。每一帧更新就是这样:

x = x + vx
y = y + vy

碰到边界就反弹。很简单对吧?

结果:JavaScript 和 WebGPU 性能几乎一样。

这就离谱了。说好的 GPU 并行计算呢?

原因很简单:这个算法太简单了。每个线程只需要做 2-4 个浮点数运算。GPU 的并行优势还没发挥,样板代码的开销反而先把性能吃掉了。

就像让法拉利去送外卖,车是好车,但发挥不出速度优势不说,倒车入库还费劲。

而且很多人不知道:Canvas 2D 也在用 GPU 加速。Chrome 内部用的是 Skia 渲染引擎,最后也是调用 GPU 画图的。所以你写 fillRect(),浏览器早就帮你把活交给 GPU 干了。

矩阵乘法:GPU 终于发威了

第二个测试是矩阵乘法——计算机科学里最重要的运算之一。

简单说,就是两个网格的数对应相乘再相加。数学公式不重要,你只需要知道:这是同一个简单操作重复几百万次的典型场景。

这正好撞到 GPU 的舒适区。

结果:WebGPU 碾压 JavaScript,而且矩阵越大,差距越明显。

这就是 GPU 的真正实力。当任务需要大规模并行海量简单计算时,GPU 能把 CPU 按在地上摩擦。

LLM(大型语言模型)为什么现在这么火?底层就是大量的矩阵乘法运算。NVIDIA 为什么市值飞天?还不是因为它的 GPU 跑这些计算最在行。

图像处理:GPU 的主场

第三个测试是图像处理管道——亮度调整、对比度、滤镜一套连招。

结果:GPU 再次完全吊打 JavaScript。

每个像素独立处理、同一操作应用给几百万个像素——这完全是 GPU 的菜。

所以什么时候该用 WebGPU?

现在你可能想问:那我到底该不该用 WebGPU?

我的建议是:看任务吃饭

场景推荐
简单动画、UI 交互JavaScript + Canvas 2D 就够了
图像处理、视频滤镜、3D 渲染WebGPU 上
机器学习推理、数据科学计算WebGPU 上
粒子系统、物理模拟(复杂)WebGPU 上
简单 DOM 操作、业务逻辑JavaScript 永远的神

一句话概括:当同一个简单操作需要做几十万甚至几百万次时,轮到 GPU 上场。其他时候,别折腾。

现实骨感:WebGPU 的坑

别急着抄家伙,WebGPU 还有几个现实问题:

样板代码太多。你需要请求 adapter、创建 device、配置 buffer、管理命令编码器……一个"你好世界"比写 React 组件还复杂。

LLM 生成代码不一定对。WebGPU 还很新,Claude Code 或者 ChatGPT 生成的代码有时候跑不起来。你还是得翻文档、逛 GitHub Issue、自己调试,仿佛回到了刀耕火种的年代。

浏览器兼容性。如果你要服务大众用户,还得考虑那些用着 2018 年安卓浏览器的用户。要么做降级方案(比如回退到 WebGL),要么就忍痛放弃。

写在最后

WebGPU 确实香,但它不是万能药。

就像你不会用大炮打蚊子,也不会开着坦克去超市买白菜。技术选型的本质是让合适的工具干合适的活

粒子模拟那个测试让我明白一个道理:有时候,最简单的方案反而是最好的方案。JavaScript 引擎这些年被各路大神优化到了极致,很多场景下它已经够快了。

真正的问题不是"能不能更快",而是"有没有必要更快"。

常见问题

Q: WebGPU 和 WebGL 有什么区别? A: WebGL 是上一代图形 API,而 WebGPU 是新标准,同时支持图形渲染和通用计算(GPGPU)。WebGPU 的设计更现代化,API 更简洁,性能也更好。

Q: 我的项目需要用 WebGPU 吗? A: 如果只是简单的动画或 UI 交互,JavaScript + Canvas 2D 就够了。如果需要处理大量数据(图像、视频、3D),或者做机器学习推理,可以考虑 WebGPU。

Q: WebGPU 浏览器兼容性怎么样? A: Chrome、Edge、Safari、Firefox 都已支持。但在移动端和旧浏览器上可能需要降级方案(回退到 WebGL 或纯 JS)。


你在项目中遇到过性能瓶颈吗?最后是怎么解决的?欢迎在评论区聊聊。


如果你想看到更多这类硬核技术测评,欢迎关注「AI 编程扎个朋克」,每周更新。

顺便分享一个我常用的 AI自媒体运营工具 ,覆盖内容排版、素材处理和效率提效,写公众号特别省力。

最近在玩 Claude Code 的各种骚操作,发现官方出了个 Codex 增强版门户 ,把各种智能编程能力整合在一起了,有兴趣可以去围观。