Chart 组件渲染性能问题

2016-03-09 18:04:02 +08:00
 ck1llc

前提:

公司产品目前使用的图表组件是 FusionCharts flash 版本,新版产品中准备去除产品中 flash 相关组件。

目前可选组件有: FusionCharts JS 版( FusionCharts Suite XT v3.10.0 ), HighCharts , ECharts 。
从性能测试结果来看, HighCharts 和 ECharts 性能接近,甩 FusionCharts 一大截。
从图形扩展性来看, ECharts 缺少 3D 图的支持,不满足目前产品对图表组件的要求。

我个人比较倾向 HighCharts ,但是由于工作量及前向兼容问题,领导要求使用 FusionCharts 。

问题

FusionCharts 和 HighCharts 都是使用 svg 绘图的,但是同样数据量下,渲染速度, CPU 及内存差别巨大。在 30 线*168 点数据量下(吐槽下领导定的规格,什么都看不清楚), HighCharts 很快能加载出来,且操作流畅。 FusionCharts 往往导致 Chrome 无响应。

自己非专业前端,使用 chrome 的 profiles 工具也瞧不出什么眉目,求前端大神指点下两者究竟性能差在哪儿!


Demo 如下:由于线条过多时,浏览器容易卡死,请修改变量 lineNumber 后测试
FusionCharts Demo:
http://jsfiddle.net/ck1llc/bpksx1yk/

HighCharts Demo:
http://jsfiddle.net/ck1llc/uadzf2bt/

2668 次点击
所在节点    前端开发
2 条回复
ck1llc
2016-03-10 08:33:50 +08:00
是我描述得不清楚呢,还是这两个组件用得人比较少···
wyc829
2016-03-12 16:57:52 +08:00
源码看得少..

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/262268

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX