datart icon indicating copy to clipboard operation
datart copied to clipboard

关于内存升高导致的页面崩溃问题

Open lxddup opened this issue 2 years ago • 14 comments

在二开项目中,用户反馈编辑报表时偶现崩溃现象 没有固定的复现步骤,目前已经比较容易复现的操作: 在报表中的chart较多时,在编辑页面boardEditor 不断编辑,容易引发崩溃 或者编辑后保存,又点击编辑,来回几次,容易引发崩溃。 在官网demo中也可以复现。 求指导解决思路,谢谢! image

lxddup avatar Sep 07 '23 11:09 lxddup

目前我们的结论 推测和内存很大 有关系

lxddup avatar Sep 07 '23 11:09 lxddup

我们这最近因为报表不断在增加,刷新也遇到过这种问题,感觉是客户端内存的问题

xiaoniuqiu avatar Sep 12 '23 05:09 xiaoniuqiu

您这边最近有解决吗

xiaoniuqiu avatar Sep 12 '23 05:09 xiaoniuqiu

您这边最近有解决吗

哎 没有

lxddup avatar Sep 14 '23 06:09 lxddup

建议使用 Chrome 与 Firefox 或其他浏览器对比测试,定位一下是否为 Chrome 浏览器的独有问题。另外问题描述里加一下浏览器及版本信息。

scottsut avatar Sep 20 '23 01:09 scottsut

同样二开,也是遇到同样的问题。目前还在分析代码找问题

LInonems avatar Sep 20 '23 03:09 LInonems

chrome版本:116.0.5845.187

lxddup avatar Sep 21 '23 09:09 lxddup

问题可能是数据量过大导致的页面无法渲染

yqwoe avatar Oct 10 '23 02:10 yqwoe

请问现在有解决方案了吗?

KingThq avatar Oct 30 '23 06:10 KingThq

经常遇到

keenki avatar Jan 11 '24 00:01 keenki

我也经常遇到,有办法解决吗

fengcheche avatar Feb 04 '24 09:02 fengcheche

经常遇到 +1

Benamin avatar May 14 '24 03:05 Benamin

GPU内存溢出,浏览器同一个tab下预览多个大屏,可以通过浏览器任务管理器看到该tab下gpu不管攀升,到临界点后出现崩溃情况。解决方案:

  • 把chrome://flags canvas 2d gpu加速关闭
  • 图表配置提供svg、canvas选项。(大多数报表工具都有)
  • 换个好点的显卡😅

QJerryxjh avatar May 22 '24 05:05 QJerryxjh

查了一堆资料,可以确定是应该是 频繁创建 ECharts 实例然后导致浏览器崩溃的问题,然后我查了一下Echart的官方文档,里面找到了一段关于选择svg还是canvas的介绍:https://echarts.apache.org/handbook/zh/best-practices/canvas-vs-svg/

image

最后由于我们数据量一般,但是部分用户会用笔记本编辑,确实会遇到频繁创建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多也没事,后续再观察观察`

Benamin avatar May 29 '24 05:05 Benamin