找回密码
 立即注册

QQ登录

只需一步,快速开始

定风波

注册会员

6

主题

15

帖子

55

积分

注册会员

积分
55
定风波
注册会员   /  发表于:2023-10-24 19:25  /   查看:2392  /  回复:10
本帖最后由 Richard.Huang 于 2023-10-26 10:46 编辑

产品:SpreadJS
版本:V16.1.4

数据绑定5000多笔数据,有60列数据,对其中10列设置公式性能特别慢,前端需要10几分钟才能渲染显示出来,这种情况需要如何进行性能优化呢,希望很快数据渲染显示出来,不然这没法就太慢了

10 个回复

倒序浏览
HoneyBear
初级会员   /  发表于:2023-10-24 19:53:23
沙发
// 设置公式前, 挂起绘制和计算  
suspendPaint
suspendCalcService

// 设置数据可以通过
setArray([[1,2,3,4],[5,6,7,8]])
setArray([[null,null,0],[0,null,null]])  // 不需要更新的值可以给null

// 设置完成后,恢复绘制和计算
resumeCalcService
resumePaint

评分

参与人数 1金币 +300 收起 理由
Joestar.Xu + 300 赞一个!

查看全部评分

回复 使用道具 举报
定风波
注册会员   /  发表于:2023-10-24 20:08:34
板凳
我是使用datasourcebinding设置数据的,然后通过setformula设置公式的,按照这种挂起和计算性能可以提升多少呢
回复 使用道具 举报
定风波
注册会员   /  发表于:2023-10-24 20:41:53
地板
HoneyBear 发表于 2023-10-24 19:53
// 设置公式前, 挂起绘制和计算  
suspendPaint
suspendCalcService

我是使用datasourcebinding设置数据的,然后通过setformula设置公式的,按照这种挂起和计算性能可以提升多少呢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-25 10:05:35
5#
您好,您可以先试试用suspendPaint和resumePaint等接口测试看看性能是否有提升,如果仍然觉得性能较差,请您提供一个可以复现您问题的Demo,这边结合实际情况调研一下。
回复 使用道具 举报
HoneyBear
初级会员   /  发表于:2023-10-25 10:09:37
6#
定风波 发表于 2023-10-24 20:41
我是使用datasourcebinding设置数据的,然后通过setformula设置公式的,按照这种挂起和计算性能可以提升 ...

就好比  批量绘制1000和一个一个绘制1000个区别
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-25 17:47:37
7#
回复 使用道具 举报
定风波
注册会员   /  发表于:2023-11-11 14:35:50
8#
Joestar.Xu 发表于 2023-10-25 10:05
您好,您可以先试试用suspendPaint和resumePaint等接口测试看看性能是否有提升,如果仍然觉得性能较差,请 ...

加了挂起恢复计算性能提升了一部分,但是还是有点慢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-11-13 08:54:02
9#
您好,我看到您这边还使用了setFormula接口,如果您这边设置的公式很多的话,还可以在设置前加上suspendCalcService接口,在设置完毕后再加上resumePaintCalcService接口来提高公式的计算效率。

参考链接:https://demo.grapecity.com.cn/sp ... #suspendcalcservice
https://demo.grapecity.com.cn/sp ... k#resumecalcservice
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-29 17:27:08
10#
您好,请问您的问题是否得到解决,如果仍存在相关疑问,欢迎继续跟帖询问
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部