I have a 11MB JSON graph file with about 45K edges and 73K nodes without x, y locations, and I want to display this graph using the BFS layout. I am using promise/deferred to load the file. I haven't been able get Cytoscape to display this graph on chrome. So:
- Are there some special techniques for displaying large graphs?
- What is the largest graph anyone has displayed using cytoscape.js?
- If cytoscape.js won't work are there other JS frameworks that will work for large graphs?
You are limited by the performance of the browsers themselves. Cytoscape.js uses several techniques to optimise rendering performance, but you'll still hit the ceiling of the browser's performance.
I don't think you'll find any browser tech today (July 2015) that supports rendering such large datasets.
We display a graph from a 5.4 MB JSON file with predefined coordinates on different browsers with great performance. Is there a specific reason for not precalculating the coordinates (e.g. in Cytoscape desktop)?
To increase rendering performance:
- use haystack edges
- provide "min-zoomed-font-size" for nodes and edges
- hide non-selected edge labels
- use batches for series of operations