6

I need to display graph with about 1000 nodes and edges. Nodes should be dragable and all should works in realtime without waiting screens.

So, I've already checked a lot of js graph visualization frameworks and still cant find solution.

For example I've cheched "JavaScript InfoVis Toolkit" from the question: What's the fastest, pure Javascript, Graph visualization toolkit? It hangs up on 250 nodes.

All of frameworks works pretty fast but only with 100-200 nodes. And on 500 nodes and edges they throw exceptions or hanging up at all.

So, the question is: Is there a js framework that could work with 500-1k of nodes/edges, or I should implement something by myself with using canvas/WebGL.

Community
  • 1
  • 1
Dmitry Zaets
  • 3,289
  • 1
  • 20
  • 33
  • Can you share an image of how you would like the graph to look? – MikaelEmtinger Sep 01 '12 at 07:59
  • Like here: http://thejit.org/static/v20/Jit/Examples/ForceDirected/example1.html At same time user should see not all 1000 of nodes:) User will see only part of nodes that fit on screen.(Like a part of zoomed image) – Dmitry Zaets Sep 03 '12 at 13:39
  • 1
    Ok, that's not going to be very easy to pull off, unfortunately - but not impossible. I was hoping for something more rigid (like a diagram or something) that could be assembled into a couple of WebGL draw calls. It's the spring effect that is troubling. To get speed up, you would need to do the spring simulation on the GPU using floating point textures... Complicated ;) – MikaelEmtinger Sep 06 '12 at 07:02

1 Answers1

3

Did you try D3? http://d3js.org/

gmaliar
  • 5,294
  • 1
  • 28
  • 36
  • 2
    Thanks, it is nice library! I've tried "forced" example with 1k of nodes but without links and it works little bit slow.. I think also I should try example without "force" calculations, it should works much faster. – Dmitry Zaets Sep 07 '12 at 07:47