百度脑图(kityminder)优化
2017-03-14
目标:
- 优化脑图,使其操作更为顺畅
问题:
- 脑图节点数过多时,初始化渲染很慢。
- 对节点进行增、删、改、移动等操作时,页面卡顿,无法进行其他操作。
原因:
- 节点数过多,初始化、导入、渲染操作耗时较长
- 节点数过多,重新渲染、布局操作耗时较长
- dom数过多,即使一些小改动也会引起html重绘重排,造成页面卡顿
解决方案:
- 尽量减少页面上的dom数
- 脑图初始化时,只渲染到二级
- 展开节点时,采取逐级展开方式,并实时判断当前展开节点数,若过多则收起其他节点
- 收起节点时,移除所有子节点对应的dom
已解决:
- 脑图初始化到二级节点
- 逐级展开
- 收起节点时,移除所有子节点
未解决:
- 实时判断当前展开节点数,若超过阈值(如:500)则收起当前点击节点外的所有节点
2017-03-15
遗留问题:
- 实时判断当前展开节点数,若超过阈值(如:500)则收起当前点击节点外的所有节点
新问题:
- 初始化时,序号与编号重叠
- 修改序号编号后,收起展开按钮被遮盖
- 拖拽节点(除根节点外)后,不该渲染的节点被渲染到页面
- 新增子节点抛错
- 新增子节点、合并节点结束后,目标节点的子节点没展开
- 新增兄弟节点、删除节点、上移下移后,序号编号没有更新
- 节点拖拽卡顿(未解决)
2017-03-16
遗留问题
- 节点拖拽卡顿
- 删除比较慢
- 录入系统页显示制作人有点慢
问题全部解决,脑图优化完成
2017-03-17
脑图优化暂时告一段落。
问题描述:
- 节点数超过200,初始化渲染很慢。
- 节点数超过200,对节点进行增、删、改、移动、合并等操作,页面非常卡顿甚至卡死
- 节点数过多时,消耗较多内存,节点数超过10000,对应chrome进程占用内存1G+
原因分析:
- 节点数过多,初始化、导入、渲染操作耗时较长
- 节点数过多,重新渲染、布局操作耗时较长
- dom数过多,即使一些小改动也会引起html长时间重绘重排,造成页面卡顿
解决方案:
- 尽量减少页面上的dom数量
- 只渲染已展开节点对应的dom
- 脑图初始化时,只渲染到二级,减少需要维护的dom数量
- 展开节点时,采取逐级展开方式,并实时判断当前展开节点数,若过多则收起其他节点
- 收起节点时,移除所有子节点对应的dom
- 优化代码中的耗时操作
- 去除代码中的非必要操作
优化成果:
- 脑图初始化渲染速度大大提升。
优化前:3500+个节点,渲染耗时20s+,14000+节点,渲染耗时1min+
优化后:3500+个节点,渲染耗时0.7s,14000+节点,渲染耗时2.2s
- 页面流畅可用
优化前:节点数200+,初始化渲染很慢,操作非常卡顿
优化后:节点数14000+,初始化渲染很快,操作流畅
- 节点拖拽、调序、合并、删除、修改文字等操作不再卡顿
优化前:操作引起页面卡顿甚至卡死
优化后:操作可用且流畅
不足:
- 子节点过多(3000左右)时拖拽父节点,实测帧率低于20帧,会略有卡顿感
- 只有逐级展开,没有增加双击展开所有子节点功能
- 没有全部展开功能,全部展开可能会造成页面卡顿
百度脑图(kityminder)优化相关推荐
- 在线思维导图神器-百度脑图
平时工作.学习习惯用思维导图来整理所得,一是可以让知识在脑子里形成体系脉络,以后复习的时候直接把思维导图拿出来过一遍,很方便,二是勤动手加强记忆,无论看多少次思维导图,有什么不顺的地方或者发散性思维可 ...
- 在vue2使用百度脑图的kityminder-core进行二次开发思维导图,在源码中添加新的命令
需求说明:最近在搞kityminder-core的思维导图,需要增加一个给节点添加文件的功能,一直在研究源码,发现都是通过执行命令的方式实现的.一直卡在新增命令的步骤,搞了好多天了今天找到了如何在源码 ...
- 百度脑图,唯一不黑的百度产品
直达链接: https://naotu.baidu.com/ 百度脑图是一款好用到不像百度产品的产品! 开源地址: https://github.com/fex-team/kityminder.gi ...
- 百度脑图核心——kityminder-editor 本地化改造
一.思维导图是什么? 早在高中时代就听同学提过思维导图这种东西了,还记得那是一本物理辅导书.当时确实还不理解这种东西,可能是因为当时物理太好,不需要使用思维导图来辅助记忆那些知识点 (⊙o⊙).那时候 ...
- 如何在线打开Xmind文件 — 百度脑图在线工具
1.问题背景: 某些时候会接收到别人发给我们的xmind(一种思维导图)的文件,但苦于我们的电脑上没有下载Xmind软件,所以我们怎么快捷的查看该文件的内容呢? 2.解决方案: Step 1: ...
- 百度脑图-便捷的思维工具
前沿:百度脑图作为百度出品的一款思维管理工具,用起来真心不错,特别是线上自动保存等功能也是非常到位的设计. 1.使用:百度脑图暂无客户端,完全依赖在线broswer,所以首先你得需要安装一个支持htm ...
- 思维导图 mindnote,MindMaster,亿图图示,百度脑图
第一次了解到思维导图,导师用的MAC,有一款mindnote的软件 但该软件支持苹果系统 如果想要windows,可以尝试网页版的百度脑图 客户端的亿图图示或者mindmaster mindmaste ...
- 在线思维导图工具百度脑图
XMind一直都在用,功能也很好.但是百度脑图的优点在于 1 在线编辑,不需下载安装 2 直接存百度网盘里.这个很赞! 官网:naotu.baidu.com
- 创建便于git管理的思维导图 -- markdown结合百度脑图
创建便于git管理的思维导图的方法 概述 最近在做一些计划或者总结的时候,喜欢用思维导图的方式去实现,图的方式可以很方便的展示内容,便于查看. 自己比较喜欢做思维导图的软件是百度脑图,主要是用起来比较 ...
- 百度脑图解析:如何进行web复杂应用的渐进式开发
内容来源:2017 年 4 月 8 日,张博在"HTML5梦工场 & 微软开发者沙龙第05期-持续集成"进行<Web复杂应用的 「渐进式」开发>演讲分享.IT ...
最新文章
- Fedora 23如何安装LAMP服务器
- myeclipse添加使用hibernate框架详解
- inputstream的大小为0_李太阳2020302期排列三推荐:本期两码看好0、3
- 骚操作!用Python自动下载抖音美丽小姐姐(有对象的同学小心尝试!)
- Android 固定式底部上滑抽屉view
- 【bzoj5037】[Jsoi2014]电信网络 最大权闭合图
- java日期算前一天_java 根据系统日期获取前一天、后一天时间(根据初始日期推算出期望(向前/向后)日期)...
- 项目管理学习流程图-ITTO-PMP
- 找不到文件“c:/Users/Administrator/Desktop/vue_dom2/node_modules/postcss-discard-overridden/types/index.d.
- IDEA| java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.context
- 简单记录一下雨量计的分类
- python将图片拼接为视频
- python编程求导数_在python中如何计算导数?
- SEO学习的最好方式:搜索引擎
- 最新CSGO国服能取回皮肤的国内开箱网站推荐大全
- 区块链--默克尔树(Merkle Tree)
- matlab考试复习题
- 验证码识别之中国移动话费查询
- matlab收敛半径,运用MATLAB语言解决级数及其相关问题 李娟娟
- AcWing 850. Dijkstra求最短路 II(堆优化dijkstra)
热门文章
- 股票交易接口有什么优势?
- 【软件工程】第5章 软件需求分析思考题
- Linux第二章:6.Xftp安装教程、使用Xftp进行远程文件传输
- 用计算机语言写祝福语,有关程序员节的祝福语
- #PixelConFi | 这个教师节,以投票代替祝福
- qsnctf 哥哥打篮球 wp
- 用tnl实现高可信赖的对象同步机制
- 一.什么是java面向对象 (小白神器)
- 超级计算机神威太湖之光储蓄量,中国超级计算机神威太湖之光世界最快,且总量排名榜单第一...
- publish over ssh、 Kubernetes Continuous Deploy插件