情况紧急:
在一张图里绘制7条线段,每条最多720个点,采用的散点图,加载时关闭了动画效果,每次在chrome中加载都需要5到6秒的时间;
在另一个页面,最多14张图,每张一条720个点的线段,加载及其缓慢,并且经常出现崩溃情况;
想知道echarts加载大量数据时有什么好的处理方法,各位走过路过的大佬们麻烦支个招!
ps:在echarts的github库里查找这类问题,发现基本都没太好的解决措施;
情况紧急:
在一张图里绘制7条线段,每条最多720个点,采用的散点图,加载时关闭了动画效果,每次在chrome中加载都需要5到6秒的时间;
在另一个页面,最多14张图,每张一条720个点的线段,加载及其缓慢,并且经常出现崩溃情况;
想知道echarts加载大量数据时有什么好的处理方法,各位走过路过的大佬们麻烦支个招!
ps:在echarts的github库里查找这类问题,发现基本都没太好的解决措施;
数据量太大了,这根vue和echarts都没有关系,浏览器遭不住,只能写一个loading效果等待一下,如果数据量已经大到浏览器卡死了,最好从设计上优化吧,要么不要一个页面展示那么多图,要么让服务端把数据做一下采样,毕竟那么多的点也没法看啊
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
经过排查,确认内存上升是因为图形实例未被销毁,即使使用dispose()方法也不行;现在采用的方法是手动清空相关对象变量,包括图形实例和相关的数据项,这样处理在一定程度上减少了内存的增加;但由于js中变量清空后内存并不会马上被回收,因此采用了比较笨的方法,在特定的时刻刷新整个页面,这样就基本解决了问题。
另外,虽然现在浏览器不会崩溃了,但是图形绘制还是需要比较长的时间,UI和需求没办法修改,只好加上loading动画,暂时先这么处理了;