接手之初,整体样式:

但当数据量变大时,渲染速度慢,且容易卡死浏览器,导致崩溃。大概支持500个节点。

通过浏览器performance工具分析得知,是由于comboForce(分组力导布局)算法冗余。只能通过更改布局或其他方式规避。

解决方案:

1、创建自定义布局

在原本conboForce的基础上,重新对combo内部的节点布局进行计算。如gird等布局方式。但由于comboForce布局算法对于节点位置的计算同样影响combo的位置。且代码中有很多地方不理解。pass。

2、Gird布局 + 组包裹(Hull)

通过阿里对于容器 云安全可视化的解决方案,文档中是通过包裹的方式,如下图:

优点: 渲染速度快,支持数据量大,5000+。

缺点: 数据量小,且整齐的情况下,效果很好;但是当数据量变大, 组的包裹无法分清,且存在同组内换行的情况。组包裹无法展label。

由于问题点多,继续尝试其他方式。

3、力导布局 + 类聚

在改动过程中发现该布局方式,由于力导布局的算法都会涉及到位置计算,并未报太大希望。

实现结果:

缺点:在渲染之初,力导图会有计算的动画。

优点:支持数量量变大 3000+(相比于最初), 渲染速度快 3000个node,大概35s-45s。且在                  3000数据量的情况下,布局正常。

G6配置

const graph = new G6.Graph({container: "gContain",width: this.$refs.baro.offsetWidth, // Number,必须,图的宽度height: this.$refs.baro.offsetHeight, // Number,必须,图的高度plugins: [tooltip],autoPaint: true,fitCenter: false,modes: {default: ["drag-combo", { type: "drag-node", onlyChangeComboSize: true }, { type: "drag-canvas", scalableRange: -1 }, "zoom-canvas"]},fitView: false,layout: {type: "force",clustering: true,clusterNodeStrength: -5,clusterEdgDistance: 200,clusterNodeSize: 100,clusterFociStrength: 15,nodeSpacing: 20,preventOverlap: true},defaultEdge: {type: "cubic",style: {endArrow: true,stroke: "#c0c0c4"}},defaultNode: {size: 58,type: "tenNode",style: {opacity: 1,lineWidth: 1.3,fill: "#23b899"}},defaultCombo: {// ... 其他属性style: {fill: "#e6e7ea",lineWidth: 2,stroke: "#e6e7ea"// ... 其他属性},labelCfg: {position: "top",refX: 0,refY: -20,style: {fontSize: 24}}}})

G6展示网络拓扑图,适配大数据量的方案相关推荐

  1. oracle大数据量删除方案

    oracle进行大数据量删除的时候,容易报错表temp表空间空间不够导致删除失败,此时的处理方案有: 方案一: 分批删除,提交之后继续执行 方案二: 当剩下的数据量小于待删除的数据量时,可以使用转表的 ...

  2. 优化大数据量查询方案——SpringBoot(Cloud)整合ES

    一.Elasticsearch简介 实际业务场景中,多端的查询功能都有很大的优化空间.常见的处理方式有:建索引.建物化视图简化查询逻辑.DB层之上建立缓存.分页-然而随着业务数据量的不断增多,总有那么 ...

  3. B端大数据量查询优化方案

    文章目录 背景 解决方案 方案1:分库分表+搜索能力 方案2:分区+搜索能力 分区 搜索 整体方案 总结 背景 在一些业务场景中,一开始业务量并不大,可见性的几年内不会突破非常大的数量,所以一开始设计 ...

  4. mysql大数据量迁移方案

    使用navicat等客户端软件功能进行同步 使用mysqldump进行导出导入同步 使用mysq命令的into file,load file进行同步命令 数据量不大可以用navicat,mysqldu ...

  5. 【转载】高效能,大数据量存储方案SqlBulkCopy

    前些日子,公司要求做一个数据导入程序,要求将Excel数据,大批量的导入到数据库中,尽量少的访问数据库,高性能的对数据库进行存储.于是在网上进行查找,发现了一个比较好的解决方案,就是采用SqlBulk ...

  6. EasyExcel 低内存导出大数据量的Excel方案探索 50万行 50列 (附:实现代码)

    文章目录 1.前言 2.准备工作 3.导出测试 3.1.单次查询.全量导出 3.2. 多次查询,多个文件,单次写入 3.3.多次查询,多个文件,多次写入 3.4.多线程导出探索 3.5.文件打包成ZI ...

  7. gRPC大数据量消息传递方法

    1.摘要 本文探讨了gRPC中大数据量消息的传输限制及相应的两个解决方法:修改限制值大小和流式数据传输,并给出了gRPC C++版本下采用流式数据传输的示例代码,在该示例中同时说明了如何在Visual ...

  8. echarts框架下大数据量展示的解决方案

    echarts+大数据量.这是个无解的问题! 大数据量,什么样的数据才算大呢?在echart 4.5.0版本中,画折线图,数据线一共1001000条,每条数据5002200个数据点,即最小数据5000 ...

  9. 怎样提高WebService性能大数据量网络传输处理(转)

    1. 直接返回DataSet对象 特点:通常组件化的处理机制,不加任何修饰及 处理: 优点:代码精减.易于处理,小数据量处理较快: 缺点:大数据量的传递处理慢,消耗网络资源: 建议:当应用系统在内网. ...

最新文章

  1. ReplaceQueryString
  2. 第五章 Mininet常用命令参数介绍
  3. android Q gradle配置,【Android】Android Studio启动配置gradle
  4. 事业编,突然接到换岗通知,作为个人能怎么办?能拒绝换岗吗?拒绝的后果是什么?
  5. 清北大学计算机专业学习清单,好专业都在清北交复?快来看看这份院校清单,拥有着全国排名【NO.1】的专业...
  6. python和java的区别-Python与Java的区别与优劣?
  7. 人脸检测(十六)--Cascade CNN
  8. 预备作业03 20162311张之睿
  9. Hbase+Zookeeper配置与安装
  10. 各类排序算法思想及计算复杂度
  11. 计算机绘图cad期末考试试题,20年广东理工学院成人高考期末考试 计算机绘图(AutoCAD) 复习资料.pdf...
  12. lisp方格网法计算土方量_CAD计算土方方量插件
  13. pytorch 安装教程
  14. id: cannot find name for group ID 528
  15. 0_13_QGIS纠正矢量数据
  16. 通往财富自由之路详细笔记(11)
  17. 【计算机图形学】小白谈计算机图形学(五)
  18. springboot项目访问jsp文件
  19. Redis主从复制(薪火相传模式 演示示例)——图解版
  20. 妈妈的味道,从一碗北极虾荠…

热门文章

  1. 【附源码】计算机毕业设计java学校教务管理系统设计与实现
  2. ASEMI整流桥ABS10参数,ABS10规格书,整流桥abs10资料
  3. stm32 c语言编程pdf,STM32-MCX314 基于C语言编写的STM32控制运动控制芯片MCX314的整套控制程序 - 下载 - 搜珍网...
  4. 项目管理中的边边角角 之三
  5. springboot 导入excel(数据批量导入)
  6. 也许事情本身的意义,没你想的那么重要。
  7. 微盛创始人杨明:企业微信将成为中国saas的新土壤
  8. 连开三场发布会之后,苹果这款产品卖得最好
  9. 中国石油大学北京计算机保研,中国石油大学(北京)地球物理与信息工程学院(专业学位)计算机技术保研细则...
  10. FPGA的设计艺术(7)STA实战之SmartTime时序约束及分析示例(II)