找回密码
 立即注册

QQ登录

只需一步,快速开始

杨博

注册会员

11

主题

34

帖子

119

积分

注册会员

积分
119
杨博
注册会员   /  发表于:2021-7-14 17:05  /   查看:4030  /  回复:15
1金币
本帖最后由 AlexZ 于 2021-7-15 09:52 编辑

请问一下加载1万条数据大概0.5秒,但是我给这1万条加上分组,边框,计算公式等多个条件后,大概需要4秒,还有没有优化的办法
附件如下
DataSourceaddTreeRow.html (6.5 KB, 下载次数: 70)

最佳答案

查看完整内容

首先,查看了你的代码,代码中在1万次的循环内调用了多次例如getRowCount()、getDataSource()这样的接口,没有必要 而且,不理解,为什么要用 addRows的方法?和数据绑定完全背道而驰 这里能给你的建议是先优化一下你写的 JS 代码并且熟悉一下 API 的使用 大概看了你的需求,重新写了一个方法,下图是卡出来的时间,基本上就是在 1.3 秒左右

15 个回复

倒序浏览
最佳答案
最佳答案
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-14 17:05:38
来自 9#

首先,查看了你的代码,代码中在1万次的循环内调用了多次例如getRowCount()、getDataSource()这样的接口,没有必要
而且,不理解,为什么要用 addRows的方法?和数据绑定完全背道而驰

这里能给你的建议是先优化一下你写的 JS 代码并且熟悉一下 API 的使用


image.png229311827.png

大概看了你的需求,重新写了一个方法,下图是卡出来的时间,基本上就是在 1.3 秒左右

image.png574035338.png
DataSourceaddTreeRow.html (9.1 KB, 下载次数: 60)
回复 使用道具 举报
杨博
注册会员   /  发表于:2021-7-14 17:06:33
2#
这里加的功能较少,已经明显看到耗时,真实项目中用到更多功能
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-14 17:30:12
3#
杨博 发表于 2021-7-14 17:06
这里加的功能较少,已经明显看到耗时,真实项目中用到更多功能

我这边执行了click里面的内容,耗时在1.3s左右,属于一个比较合理的时间,建议您提供一个能够模拟真实场景的demo,这边调研一下是否有优化的空间。
回复 使用道具 举报
杨博
注册会员   /  发表于:2021-7-14 17:37:17
4#
本帖最后由 杨博 于 2021-7-14 17:38 编辑

你计时测试,点击click到全部渲染已经4秒了,这这个耗时有点久
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-14 17:44:33
5#
杨博 发表于 2021-7-14 17:37
你计时测试,点击click到全部渲染已经4秒了,这这个耗时有点久

这是我测试的结果
image.png151786803.png

取消这部份注释时间来到1.8s,也没有达到您描述的4s
image.png940421142.png
回复 使用道具 举报
杨博
注册会员   /  发表于:2021-7-14 17:57:15
6#
  我这边测试已经4秒多了
00.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-14 18:04:33
7#
杨博 发表于 2021-7-14 17:57
我这边测试已经4秒多了

请问您的浏览器的版本是多少呢?这边的浏览器版本是 91.0.4472.124,建议您提供更多能复现问题的信息。
回复 使用道具 举报
杨博
注册会员   /  发表于:2021-7-14 18:25:46
8#
这边goole版本是版本 90.0.4430.212(正式版本) (32 位)
回复 使用道具 举报
杨博
注册会员   /  发表于:2021-7-15 09:02:40
10#
本帖最后由 杨博 于 2021-7-15 09:49 编辑

好,addrows的原因是,实现分页拼接数据,不能每次重新绑定数据源,每次将新获取的数据拼接到源数据上,实现增量加载。所以不能setDataSource这里多次使用getRowCount()只是因为模拟数据,每次拼接1条。正常会一次拼接几千条,每次拼接的时候获取一下行
这边最新测试,电脑重启后源代码运行2.6秒,你们发的也是2.6左右,没有太大差别,我们这边再研究吧。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部