Skip to content
Snippets Groups Projects

feat: only apply layouting optimizations for graphs larger than 5k nodes

Merged Leonardo Christino requested to merge performance/nodelink into main
5 unresolved threads
1 file
+ 16
10
Compare changes
  • Side-by-side
  • Inline
@@ -198,21 +198,27 @@ export class GraphologyForceAtlas2Webworker extends GraphologyLayout {
const sensibleSettings = forceAtlas2.inferSettings(graph);
const layout = new FA2Layout(graph, {
settings: {
...this.defaultLayoutSettings,
...sensibleSettings,
adjustSizes: graph.order < 300 ? true : false,
let settings = {
...this.defaultLayoutSettings,
...sensibleSettings,
adjustSizes: graph.order < 300 ? true : false
};
if (graph.order > 5000) {
settings = {
...settings,
barnesHutOptimize: true,
barnesHutTheta: 1,
barnesHutTheta: 0.75,
slowDown: 0.75
},
});
};
}
const layout = new FA2Layout(graph, { settings });
layout.start();
// stop the layout after 5 seconds
// stop the layout after 10 seconds
setTimeout(() => {
layout.stop();
}, 5000);
}, 10000);
}
}
Loading