核心概念
G6Lite 是什么
G6Lite 的定位、适用场景和与 G6 v5 的关系
G6Lite 是一个基于 WebGL 的轻量图可视化与分析引擎,目标是让大规模图数据在浏览器中保持稳定渲染和低成本交互。
它保留 G6 用户熟悉的图配置心智:数据、节点、边、布局、交互和主题,但实现重点放在 WebGL 渲染、增量刷新和高频交互上。
适合的场景
- 万级节点的关系探索、资产拓扑、知识图谱、依赖分析。
- 频繁高亮、选中、邻居聚焦、状态切换的分析型交互。
- 需要轻量包体,同时希望接入 AntV 布局能力的项目。
- 对首屏可接受布局耗时,但要求渲染后交互开销稳定的场景。
需要评估的场景
- 10 万级以上超大图且首屏速度是唯一核心指标。
- 强依赖完整插件生态、动画系统、图论分析算法的场景。
- 需要 SVG / Canvas 细粒度 DOM 级定制的场景。
- 服务端渲染输出图片或 SVG 的场景。
与 G6 v5 的关系
G6 v5 是功能完整的图可视化框架,插件、元素、动画、交互和生态能力更全面。G6Lite 更像是一个性能优先的轻量内核:
| 维度 | G6Lite | G6 v5 |
|---|---|---|
| 渲染技术 | WebGL + Canvas 2D 标签层 | Canvas |
| 主要目标 | 大规模渲染和高频交互 | 完整图可视化能力 |
| 包体 | 更轻 | 更完整 |
| 扩展生态 | 有限,聚焦核心能力 | 更丰富 |
| 适用重点 | 分析型大图 | 通用图可视化 |
如果你的应用需要完整插件生态,优先评估 G6 v5。如果你的核心瓶颈是大图渲染、高亮和状态切换,优先评估 G6Lite。
核心组成
Graph:用户入口,负责容器、布局、渲染、交互和生命周期。DataModel:维护节点、边、Combo、状态和增量变更。Renderer:WebGL 绘制节点、边和拾取缓冲。LabelLayerRenderer/ComboRenderer:分别用 Canvas 2D overlay 和 underlay 绘制标签、图标与 Combo 包围框。RenderScheduler:根据变更级别选择全量刷新或局部 patch。InteractionDispatcher:统一处理拾取和元素事件分发。
完整的分层、首次渲染和高频更新路径见技术架构。