Winny 发表于 2023-6-13 14:22:38

SpreadJS性能优化方案

在使用SpreadJS时,遇到大量公式、数据设置时,会出现渲染过慢的问题,本文会详细介绍在使用SpreadJS中场景的一些优化方式。

SpreadJS中可以通过挂起计算、绘制、事件监听等方式提升使用性能,我们可以先通过下边的示例代码做初步了解。

我们可以根据截图中的代码及注释,结合产品API文档全面了解方法的含义。根据需要操作的内容,暂停相关的行为。

其中在暂停和恢复计算,即suspendCalcService()和resumeCalcService()时,查阅API文档,会发现有一个Boolean类型的参数,很多人对于这个参数的设置会存在疑问,不知道是否应该配套使用,来达到最好的性能。接下来主要对这两个API的参数做相关解释。

1. suspendCalcService()方法接收的参数是ignoreDirty,即是否和略脏数据,关于脏数据,可以点击学习指南相关模块了解。整体来说,传true性能好,但是会有一定的风险,推荐传递false。

2. resumeCalcService()方法接收的参数为recalcAll,即是否重新计算全部数据,传递false表示只计算挂起计算之后添加或修改的公式,也就是只运算执行suspendCalcService之后发生变化的公式,否则,计算全部公式。

两者不存在配套使用的关系,如果在暂停计算时,忽略了脏数据,那推荐计算时做全部计算。其余情况,我们自行去设置对应参数即可。
页: [1]
查看完整版本: SpreadJS性能优化方案