找回密码
 立即注册

QQ登录

只需一步,快速开始

白鱼

中级会员

60

主题

224

帖子

576

积分

中级会员

积分
576
白鱼
中级会员   /  发表于:2024-7-10 11:02  /   查看:621  /  回复:1
1金币
使用demo尝试了使用和不使用设计器的两种方式,导入一个excel-json数据对象,发现差距很大。



使用设计器时,spread.fromJSON方法耗时增加一倍多,并且sheet页之间切换有明显卡顿,在sheet页中上下滚动也明显卡顿。

业务中要使用设计器,但是sheet页数据可能也会很多,有没有某些开关可以让上述这几个过程变快?

或者能不能帮我看看sheet页中是哪些部分导致变得卡顿?


demo见附件

demo-0710.zip

9.14 MB, 下载次数: 170

最佳答案

查看完整内容

您好, 调查出来最终的结果应该是大量的图表造成了前端的性能瓶颈。 首先,从demo来看。纯用SpreadJS的情况下因为没有import chart相关的js文件,那么相关的图表不会渲染,所以滚动或者加载都很快。 但是在线表格编辑器内部是必须依赖chart相关的组件的,所以chart在在线表格编辑器中,不管是否import,都会去加载。那么相关的图表也会去渲染,造成前端的性能瓶颈。 基于此我们可以给出如下的解决方案: 利用懒加载 ...

1 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-10 11:02:41
来自 2#
本帖最后由 Clark.Pan 于 2024-7-10 15:06 编辑

您好,

调查出来最终的结果应该是大量的图表造成了前端的性能瓶颈。

首先,从demo来看。纯用SpreadJS的情况下因为没有import chart相关的js文件,那么相关的图表不会渲染,所以滚动或者加载都很快。

但是在线表格编辑器内部是必须依赖chart相关的组件的,所以chart在在线表格编辑器中,不管是否import,都会去加载。那么相关的图表也会去渲染,造成前端的性能瓶颈。

基于此我们可以给出如下的解决方案:

利用懒加载的功能来对性能瓶颈进行优化。

1.为了使用懒加载功能,首先需要使用sjs文件格式代替ssjson,新的sjs文件结构才能够支持懒加载的功能,旧的ssjson文件结构无法支持懒加载读取。

2.打开时采取懒加载。

本方案能够一定程度的优化上述文件在操作过程中的性能,由于文件中大量的图表在XXX1这个sheet中加载,使用懒加载后,只要不切换到XXX1这个sheet(切换后就会加载这个Sheet),在其他sheet上操作效率都会显著的提高。

注意:如果切换到XXX1后再去操作其他sheet,那么依旧会触发性能瓶颈。这点可以考虑从流程上尽量的去避免切换该Sheet(如果非必须可以设置隐藏Sheet,必须的话也尽量安排在最后去操作,加快前面操作的效率)。


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部