关于内存升高导致的页面崩溃问题
在二开项目中,用户反馈编辑报表时偶现崩溃现象
没有固定的复现步骤,目前已经比较容易复现的操作:
在报表中的chart较多时,在编辑页面boardEditor 不断编辑,容易引发崩溃
或者编辑后保存,又点击编辑,来回几次,容易引发崩溃。
在官网demo中也可以复现。
求指导解决思路,谢谢!
目前我们的结论 推测和内存很大 有关系
我们这最近因为报表不断在增加,刷新也遇到过这种问题,感觉是客户端内存的问题
您这边最近有解决吗
您这边最近有解决吗
哎 没有
建议使用 Chrome 与 Firefox 或其他浏览器对比测试,定位一下是否为 Chrome 浏览器的独有问题。另外问题描述里加一下浏览器及版本信息。
同样二开,也是遇到同样的问题。目前还在分析代码找问题
chrome版本:116.0.5845.187
问题可能是数据量过大导致的页面无法渲染
请问现在有解决方案了吗?
经常遇到
我也经常遇到,有办法解决吗
经常遇到 +1
GPU内存溢出,浏览器同一个tab下预览多个大屏,可以通过浏览器任务管理器看到该tab下gpu不管攀升,到临界点后出现崩溃情况。解决方案:
- 把chrome://flags canvas 2d gpu加速关闭
- 图表配置提供svg、canvas选项。(大多数报表工具都有)
- 换个好点的显卡😅
查了一堆资料,可以确定是应该是 频繁创建 ECharts 实例然后导致浏览器崩溃的问题,然后我查了一下Echart的官方文档,里面找到了一段关于选择svg还是canvas的介绍:https://echarts.apache.org/handbook/zh/best-practices/canvas-vs-svg/
最后由于我们数据量一般,但是部分用户会用笔记本编辑,确实会遇到频繁创建Echarts实例的问题,可以在Echarts初始化的时候添加svg的配置, 原来是
this.chart = init( context.document.getElementById(options.containerId)!, 'default' );
改为
this.chart = init( context.document.getElementById(options.containerId)!, 'default',{ renderer: 'svg' } );
添加一个svg的配置 { renderer: 'svg' },在所有创建图表的地方都加一下。最后测试下来,发现崩溃的情况好很多,之前的笔记本内存500多M就开始崩溃,现在2G多也没事,后续再观察观察`