图数据 3D 可视化在 Explorer 中的应用( 二 )


图数据 3D 可视化在 Explorer 中的应用

文章插图

图数据 3D 可视化在 Explorer 中的应用

文章插图
分别通过原生 shader 和 Mesh 绘制,用户可以根据自己电脑终端的硬件情况选择对应的渲染模式 。其中高性能模式下,我们通过自研优化的 shader,利用 GPU 并行计算的能力,将一些渲染效果放到着色器中计算,极大的提高了渲染速率,让渲染性能不再成为瓶颈 。这也基本上达到了目前浏览器的极限 。快速算法布局在图布局算法方面,我们用八叉树优化了力导过程的算力消耗,并且针对使用 LinLog 模型对超级点进行了受力优化,由于算法性能消耗比较大,我们使用 Golang 对八叉树算法和力导算法进行了重写,最终可以支持在 20w 图元的情况下,预热完成后稳定在 1s 以下完成一次运算 。
图数据 3D 可视化在 Explorer 中的应用

文章插图
另外为了图布局计算不影响前台页面渲染,我们利用多个 worker 进程,将不同的 CPU 任务分布下去,这样木桶的各个短板不会影响渲染和交互的长板,用户在布局的时候依然可以灵活的操作 。利用上述的一些手段,我们将 3D 可视化的性能几乎提升到浏览器极限,对于一些不大的图空间数据,完全可以一次性载入分析 。后续方向由于 3D 模式的开发复杂度较 2D 提升较多,因此目前仅用于一种特殊的图数据展示方式 。在未来,我们会综合实际的业务场景,进行更多的体验优化 。时序及 GIS 领域的图布局映射图数据坐标到渲染中增加边的相关交互行为
原文链接:https://www.nebula-graph.com.cn/posts/dag-controller
交流图数据库技术?加入 NebulaGraph 交流群请先填写下你的 NebulaGraph 名片,NebulaGraph 小助手会拉你进群~~
【图数据 3D 可视化在 Explorer 中的应用】

经验总结扩展阅读