Optimize setTension() CPU usage

This commit is contained in:
Ian Gulliver
2019-07-03 20:00:05 +00:00
parent b066001423
commit 27411817b1
5 changed files with 14 additions and 9 deletions

View File

@@ -50,19 +50,19 @@ class GraphNode {
// Keep one space between subgraphs
if (this.subgraph != node.subgraph) {
this.addAffinity(node, d => d < 1.5 ? -INF : 0);
this.addAffinity(node, d => d <= 2 ? -INF : 0);
}
// Keep one space around groups
if (this.groups.size && !intersects(this.groups, node.groups)) {
node.addAffinity(this, d => d < 1.5 ? -INF : 0);
node.addAffinity(this, d => d <= 2 ? -INF : 0);
}
}
for (let to of this.links) {
// Stronger affinity for links
// Prefer to move toward the target instance
this.addAffinity(to, d => d < 1.5 ? -INF : d * 11);
to.addAffinity(this, d => d < 1.5 ? -INF : d * 9);
this.addAffinity(to, d => d <= 2 ? -INF : d * 11);
to.addAffinity(this, d => d <= 2 ? -INF : d * 9);
}
for (let group of this.groups.values()) {
for (let node of group.nodes) {