找回密码
 立即注册

QQ登录

只需一步,快速开始

slowsnail

中级会员

92

主题

173

帖子

623

积分

中级会员

积分
623
slowsnail
中级会员   /  发表于:2022-8-8 10:52  /   查看:984  /  回复:3
使用 requestIdleCallback 每次只处理50条数据(包含公式)并显示,同样是50条且一样的处理方式 ,越到后面执行得越慢,问下有没有可以优化的地方

3 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-8 13:42:07
沙发
本帖最后由 Derrick.Jiao 于 2022-8-8 13:47 编辑

从前面的帖子来看,这边只了解到可能用了粘贴的命令,可以尝试像下面那样,在执行对应的命令时,挂起绘制挂起计算,执行完成之后再恢复计算。 image.png572917480.png

若仍未解决,建议提供完整的demo,这边来调研优化的方案。涉及到数据方面,可以模拟一些简单的数据。如有分页相关需求,可以参考附件的demo。

SpreadJS分页示例.zip

5.65 KB, 下载次数: 17

回复 使用道具 举报
slowsnail
中级会员   /  发表于:2022-8-8 15:06:30
板凳
Derrick.Jiao 发表于 2022-8-8 13:42
从前面的帖子来看,这边只了解到可能用了粘贴的命令,可以尝试像下面那样,在执行对应的命令时,挂起绘制挂 ...

1. 慢的原因好像是这个 resumeCalcService 重新计算的方法 越到后面这个方法就越慢
2. 某些行 某些列需要进行 公式复制和 样式处理, 分页加载也能实现么?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-8 16:05:29
地板
slowsnail 发表于 2022-8-8 15:06
1. 慢的原因好像是这个 resumeCalcService 重新计算的方法 越到后面这个方法就越慢
2. 某些行 某些列需 ...

1、正常来说resumeCalcService 不会对性能有太大的影响,不需要每次使用的时候都调用,将这个suspendCalService和resumeCalcService放到最外层即可。也就是在“总的操作”前挂起,然后结束了“总的操作”之后再恢复。具体慢多少,为什么慢,还是得具体问题具体分析,我们通过对应的demo来查找造成性能慢的根本原因。

2、上面这个分页demo,用的是数据绑定,因此不会直接绑定公式或者样式。需要分页完数据后,单独处理公式以及样式,比如像copyto复制等。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部