内部性能优化

JFlow 内置了一些常规的性能优化,具体包括:

  • 设置 viewBox
  • vue 节点切片初始化渲染

viewBox

Jflow 内置了一个 viewBox 对象,表示当前用户正在交互的视窗,在渲染和碰撞检测时,Jflow 会自动比对目标渲染对象是否在 viewBox 范围内,减少不必要的渲染和计算损耗,大幅提升了多节点时,用户交互的渲染性能。

vue 节点切片初始化渲染

在使用Vue插件时,Jflow内绘图对象的是基于Vue组件对模板的渲染,在多节点的场景下,Vue初始化Vnode的过程会造成浏览器卡死无法交互,影响用户体验。因此在初始化渲染时,Jflow在vue插件中使用节点切片渲染策略,在每个requestAnitionFrame周期内做有限次的节点生成操作,并缓存已生成的vnode,直到所有节点都被生成,期间抛出 loading 态,一定程度上提升了初始化的体验。