Canvas和SVG是html5支持的两种可视化技术。
- Echarts是基于Canvas技术的可视化工具+绘图 API。
- D3可视化库,D3底层基于SVG技术,SVG的本质是一个XML 文档。
两种技术之间的主要区别是:
- Canvas 是基于像素的即时模式图形系统。---操作虚拟DOM(VNode)
- SVG 是基于形状的保留模式图形系统。---操作真实DOM
Canvas 虚拟DOM(VNode)
- 依赖分辨率
- 不支持事件处理器
- 弱的文本渲染能力
- 能够以 .png 或 .jpg 格式保存结果图像
- 最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG 真实DOM
- 不依赖分辨率
- 支持事件处理器
- 最适合带有大型渲染区域的应用程序(比如谷歌地图)
- 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
- 不适合游戏应用