1、数据压缩
1.1、压缩掉没有用的数据,刘东说的裸数据,逻辑上删除掉,但是能满足描述数据的要求。
1.2、数据的近义词。
之前的数据结构
data:['2020-1-1','2020-1-2','2020-1-3','2020-1-4','2020-1-5']
压缩以后的
['2020-1-1~2020-1-5']
1.3、目前的数据存储以key-value的方式进行交互的,现在要做好文档的工作,干掉key,只保留值,逗号分隔。
之前的数据
{"name":"马良","age":27}
压缩后
['马良','27']
2、提升首屏加载时间
2.1、定宽所有格的宽度,通过计算(浏览器的宽度/格的宽度)可以得出首屏加载的数据的量,进行初步评估,请求API。这个数据量原则上少于全部的数据;首屏加载完毕后,再次请求全量的api,提升用户体验。
第一次请求采用loading方式,第二次请求采用静默方式。
3、回退解决方案
3.1、数据操作时,只记录数据怎么操作的。后台有个静默的线程为这次操作准备数据快照;当还原时,如果有快照就使用快照,没有快照就自己计算。
3.2、采用一些显卡加速技术,可以理解显卡不关心数据,显卡只接受绘制,将绘制的方式告诉显卡,显卡可以反向绘制,这样与数据无关。
4、采用局部刷新
绘制方案将采用:
局部全局刷新--------------------部分刷新--------------------精确刷新。
示例图如下。 深色部分标识 渲染的区域。三张图用于展示 精确去渲染区域,而不是每次重新绘制。
技术方案采用Vue 或者React的方案
5、去功能化。
5.1、与产品商量,结合一线人员使用,干掉一些无关紧要,但是很耗费性能的操作。部分功能可以走申请流程。