我的机构是处理几个相当大的网络:如何使一个网页,一个大cytoscape.js网络响应速度更快
- 各地1000个节点和2000条边(所以小于this one)
- 固定节点位置,
- 每个元素可能有几十个属性,
- 和一个1MB及以上的缩小的网络文件大小。
我们用cytoscape.js可视化定制的HTML页面(每页一个网络)中的网络。界面允许用户为节点选择不同的预定义着色选项(主要功能) - 颜色是从一组数值节点属性中的一个中计算出来的。辅助功能包括节点qtips,查找节点并以此为中心(通过select2下拉菜单),并根据节点分配给预定义组(通过另一个select2下拉菜单)突出显示节点。
我们面临的问题是,当启动颜色变化时,页面(以及必然整个浏览器)至少5秒钟无响应,我们正在寻找解决方法。下面是一些我们已经尝试过或正在考虑的事情:
- 移植节点属性分开是经由XHR时需求获取的文件(已完成,但性能影响不清楚)。
- 将cytoscape.js卸载到Web工作人员(产生错误 - 可能是由于工作人员的DOM限制 - 或没有提高性能)。
- 高速缓存颜色色调计算结果为lodash's memoize()或类似(未决)。
- 将每个着色网络导出为图像,并将一些固定位置的HTML元素(或画布?)放置在图像堆栈顶部以便节点qtips等。所以我们会用静态图像和自定义JavaScript bascially取代cytoscape.js。
我很欣赏任何有关提高性能的替代或补充策略的建议,以及迄今为止对我们尝试的评论。谢谢!
感谢您的答复!我们现在正在试验所示的方法,一旦我们清楚地了解问题所在,我会发布我们的调查结果。 –