diff --git a/libs/shared/lib/graph-layout/graphology-layouts.ts b/libs/shared/lib/graph-layout/graphology-layouts.ts
index aaa820c4f186588ca0c81252441b3d91de1d5844..67419cbb7b80d399a9810a954cdf0054d2b7127d 100644
--- a/libs/shared/lib/graph-layout/graphology-layouts.ts
+++ b/libs/shared/lib/graph-layout/graphology-layouts.ts
@@ -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);
   }
 }