JS-treelist-performance
优质
小牛编辑
134浏览
2023-12-01
现状
浏览器只能支持IE9+,原因是使用了OCX。建议弃用OCX使用Chrome。
名称 | IE | Chrome | Chrome vs IE |
---|---|---|---|
市场占有率 | 6.37% | 67.39% | Chrome绝对优势领先 |
对标 | 华天、windchill老版 | windchill新版 | 达索使用的是Firefox |
DOM渲染性能 | 低 | 高 | 5-30倍 |
JS执行性能 | 低 | 高 | 5-8倍 |
OCX | 支持 | 不支持 | IE11已经放弃后续支持 |
兼容性 | 需要对IE+各个版本进行兼容性处理 | 基本符合w3c标准 | 代码增加,大量时间进行兼容性处理,维护不易 |
服务端请求响应 | 慢 | 较快 | IE数据解析随数据量程指数上升,超过1M数据量会出现卡死 |
测试 | 需要测试IE9+四个版本 | 最新版 | IE不同小版本仍存在差异 |
JS调试分析 | 困难 | 容易 | 打开调试工具慢且经常卡死 |
性能分析 | 工具不全不易用 | 较完善的分析工具 |
以上对比分析,受到IE内核性能的限制,工业软件复杂的和大数据量的业务需求,无法满足高性能、高易用的要求。在沼泽中无法盖高楼。
BOM树列表
测试要求:
- 压力测试上线限2W数据量的一次性加载
- 压力测试单个树列表中展示上限2W
- 加载不卡顿
- 拖动不卡顿
性能:按排序递减
- Chrome>IE9+(30%-50%)
- Demo>平台(10%-20%)
- 浏览>编辑(10%-20%)
- 普通展示>支持冻结列(20%-30%)
解决方案:(还是9月份针对华为列表大数据加载提出的方案)
- 基于hqGrid底层控件(于2017年完成,未进行全面测试和使用),进行功能扩展和性能优化。
- 平台集成控件
- 服务器交互接口重新实现
技术关键:
- 懒加载
- 数据懒加载(未实现【性能】)
- DOM懒加载(已实现【性能】)
- 列表可视范围局部渲染(已实现,需优化)
- DOM局部动态渲染(实现【性能】)
- HTML局部动态解析(未实现【性能】)
- 冻结列(未实现【功能】)
- 树列表(未实现【功能】)
开发周期:建议分成三个迭代完成(需要确定使用哪个浏览器)
- 压力测试普通列表性能,优化达到要求
- 开发树列表功能
- 开发冻结列