javascript - Highcharts DOM阻塞、卡顿
天蓬老师
天蓬老师 2017-04-11 12:38:30
[JavaScript讨论组]

我有一个H5的页面(经常在微信浏览器中使用)调用了 HighCharts 来显示一个K图(其实是HighStock),由于金融方面的数据是经常、快速变化的,在以前采用了每秒钟更新图表、变化数据的方式,后来更换了价格接口,想要做到每秒钟N次变化数据。

按照旧有的逻辑其实已经实现了,但是现在发现一个严重的问题,在每秒钟多次变化数据时,造成DOM阻塞,尤其在微信浏览器中非常严重。我用 console.time 测试了很久,确定是 HighStock 在更新图表时造成的卡顿。

参阅大量资料之后,初步认定卡顿原因为 HighStock 采用 svg 渲染图表。

那么问题来了:

1、HighStock 在每秒钟多次更新的时候造成的卡顿,是否的确是因为 SVG ?
2、如果使用 Canvas 模式的图表,是否会减轻由 DOM 阻塞带来的严重卡顿?
3、如果上面的答案均为是,那么是否有某个参数或者配置,要求 HighStock 使用 Canvas 模式?
4、如果 HighStock 不能使用 Canvas,有没有其他优秀的 Canvas 图表框架推荐?(只用K图)

谢谢。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
阿神

可以使Canvas 模式的图表,百度出的Echarts图表都是Canvas模式 。

迷茫

应该是你更新的逻辑有问题。

Highstock的性能已经非常优秀了,当然也不是 SVG 的原因,这两者不是性能的瓶颈。

我不清楚你们的具体业务逻辑,如果可以的话,请与我们联系,我们愿意帮你做相关的优化。

联系方式:support@jianshukeji.com

(注:我们是国内做 Highcharts 系列软件技术支持的)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号