找回密码
 立即注册

QQ登录

只需一步,快速开始

DongMeng

金牌服务用户

2

主题

8

帖子

24

积分

金牌服务用户

积分
24
最新发帖
DongMeng
金牌服务用户   /  发表于:2024-7-25 16:08  /   查看:2124  /  回复:14
1金币
我现在用的是setDataSource 绑定数据  
在每次渲染的时候 也用了 suspendPaint resumePaint
但 我还会进行合并单元格 单元格高亮等操作 渲染现在会很慢 甚至卡死
有什么好的优化方案吗


还有我现在数据后端是分批发送的 但我每次修改数据 触发suspendpaint 渲染 所以 页面滚动会卡住 这有什么好的方案可以解决吗?


最佳答案

查看完整内容

您好,在SpreadJS中,suspendPaint这个接口是为了优化性能而使用的。 suspendPaint的使用场景为在需要大量API操作时,为了避免每次操作完毕后都绘制界面导致卡顿,使用suspendPaint暂停绘制,等所有的操作执行完毕后再resumePaint开始绘制。 所以在调用了suspendPaint后,整个页面将不会再有任何变化,其表现也将为无法滚动。 suspendPaint接口本身的设计如此,结合您目前的使用场景,暂时也没有其他更好的优化方案了。 ...

14 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-25 16:08:38
来自 5#
您好,在SpreadJS中,suspendPaint这个接口是为了优化性能而使用的。

suspendPaint的使用场景为在需要大量API操作时,为了避免每次操作完毕后都绘制界面导致卡顿,使用suspendPaint暂停绘制,等所有的操作执行完毕后再resumePaint开始绘制。

所以在调用了suspendPaint后,整个页面将不会再有任何变化,其表现也将为无法滚动。

suspendPaint接口本身的设计如此,结合您目前的使用场景,暂时也没有其他更好的优化方案了。

或者也可以尝试升级到V17,开启“增量计算”,看看是否有优化。

image.png437022094.png
回复 使用道具 举报
不吐葡萄皮
注册会员   /  发表于:2024-7-25 16:21:02
2#
是不是因为有公式计算,试试suspendCalcService()
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-25 17:51:50
3#
您好,可以参考FAQ库中的性能板块,如:https://demo.grapecity.com.cn/sp ... e-optimize-project2
回复 使用道具 举报
DongMeng
金牌服务用户   /  发表于:2024-7-25 18:45:03
4#
Joestar.Xu 发表于 2024-7-25 17:51
您好,可以参考FAQ库中的性能板块,如:https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/performan ...

你好 我想问下 现在数据是后端wss分批给到 当 suspendPaint 的时候 excel 无法滚动 这个有什么优化的方法吗?
回复 使用道具 举报
DongMeng
金牌服务用户   /  发表于:2024-7-29 19:53:50
6#
Joestar.Xu 发表于 2024-7-26 09:55
您好,在SpreadJS中,suspendPaint这个接口是为了优化性能而使用的。

suspendPaint的使用场景为在需要大 ...

emmm 好的 还有个问题 就是我现在差不多60W个单元格 通过fromjson 渲染完成后 滚动很卡
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-30 11:30:01
7#
您好,在单元格数量较大且存在大量样式的情况下,可能会触及到浏览器的性能上限,注意到您这边使用的还是V16,可以尝试在V17中测试看看性能表现如何。

V17在线Demo:https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html
回复 使用道具 举报
DongMeng
金牌服务用户   /  发表于:2024-8-1 17:13:33
8#
Joestar.Xu 发表于 2024-7-30 11:30
您好,在单元格数量较大且存在大量样式的情况下,可能会触及到浏览器的性能上限,注意到您这边使用的还是V1 ...

你好 我升级了V17 引用有个ts 报错
import GC  from '@grapecity-software/spread-sheets';
Cannot find module '@grapecity-software/spread-sheets' or its corresponding type declarations.
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-8-1 17:57:02
9#
您好,根据您目前提供的信息我这边无法复现,需要您排查一下SpreadJS各个包的版本是否一致?引用的顺序是否与在线Demo中的一致?

在线Demo请参考:https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html

如果排查完确定无误,可能需要您提供一个具体的Demo,我们这边本地复现后帮您调研看看。
回复 使用道具 举报
DongMeng
金牌服务用户   /  发表于:2024-8-2 13:30:09
10#
Joestar.Xu 发表于 2024-8-1 17:57
您好,根据您目前提供的信息我这边无法复现,需要您排查一下SpreadJS各个包的版本是否一致?引用的顺序是否 ...

ts 报错 我这搞定了 感谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部