在Highcharts 12.6版本中,Highcharts 引入了对 WebGPU 的支持。
关于浏览器支持的说明: WebGPU目前尚未在所有现代浏览器中普遍支持。在上线之前,查看Can I Use WebGPU表格以了解最新情况。要开始使用,可以将modules/contour.js与您的Highcharts核心文件一起加载。
WebGPU 到底在什么情况下,能让你的图表性能产生"质变"?
答案是:WebGPU 并不是"全场景加速",而是一个非常明确的分界:
| 数据规模 | 体验差异 |
|---|---|
| < 1万点 | 几乎无差别 |
| 1万 - 10万点 | 有优化,但不明显 |
| 10万 - 100万+ | 开始出现质变(关键区间) |
就是说说如果你数据很大,WebGPU = 完全不一样的体验
为什么 WebGPU 会带来"质变"?
传统浏览器图表渲染(Canvas / SVG / WebGL)的问题在于:CPU 参与度高、GPU 调用受限、数据传输效率低
而 WebGPU 做了一件关键的事:让开发者更直接地控制 GPU
带来的变化不是"优化",而是"架构变化":更少的 CPU 参与、更高效的并行计算、更低的渲染延迟
这也是为什么它在大数据场景下,会出现"断崖式提升"。
在 Highcharts 中,具体提升体现在哪?
结合 Highcharts 的实际使用场景,WebGPU 的价值主要体现在三类图表:
1️⃣ 高密度折线图 / 时序数据
比如:实时数据监控、金融行情走势、IoT 设备数据,提升点:拖动不卡顿、缩放更流畅、渲染延迟明显下降
2️⃣ 大规模散点图
当数据点达到几十万级别时, WebGPU可流畅渲染、支持实时交互
3️⃣ 新增等高线图(Contour Plot)
在 12.6 中新增的等高线图,本质上就是:
高计算量 + 高渲染复杂度
如果没有 GPU 加速:基本不可用或需要极度简化数据,WebGPU 的引入,让这种图表真正"可落地"。
那什么时候必须考虑 WebGPU?
你可以用这个判断标准,只要出现以下任意一个,就该认真评估:
- 单图数据量 > 10万
- 用户需要频繁缩放 / 拖动
- 有实时数据刷新需求
- 图表出现明显卡顿
WebGPU 的意义,不只是"更快",而是:把原本做不了的图表,变成可以做,这才是它真正的价值。