Graph view with 2000+ notes

I currently have 2375 notes in Supernotes, which slows the graph view rendering down to a crawl (I’d guess less than 5 fps in 2D, and around 1 fps in 3D). This is on a 2020 MacBook Pro M1. Is there any chance to optimise the rendering so this feature is usable for people with larger databases?

Also, I’m disappointed with how the clustering algorithm is currently configured. I was hoping to see clearer groupings of related notes, not just a tangled mess of notes:

Are you using a spring function on the edges to pull the connected nodes together? If so, I have a theory that you might want to reduce the weight of the springs for connections that cross root-nodes boundaries. That might keep the root-node clusters more clearly defined, and create more logical clusterings.

We definitely want to improve the performance of the graph view. There are actually some optimizations we were wanting to add before release but they resulted in wonky behavior so didn’t ship with the initial 2.0 version, but hopefully we will figure out those issues soon and can get them in.

We have actually seen better performance with 2000+ node graphs than you are experiencing, so one thing I’d like to double-check is that you are using the ARM-optimized build of the Supernotes desktop application, because that is important to maximize perf. But you also have data that is probably more heavily linked than what we were stress-testing on so that might be part of the reason you’re seeing such poor performance (assuming you’re using the ARM build).

Thanks for bringing our attention to clustering issues in your graph, clustering is something we haven’t put very much time into yet, but is another aspect of the graph view we’d like to continuously improve. Good thinking on the spring function, we will see if that works.

1 Like

Hi Connor,

I’d totally missed the ARM selector on the download page, so I’ve been running the Intel version. The ARM-optimised build has definitely improved the graph view performance a little, at least on the 2D view. I’d guess the framerate is above 10 now, which is slightly more usable. The fps on the 3D view doesn’t seem to have improved.

I’ll be following the upcoming performance and clustering improvements with great interest!

Enjoy your weekend, and congrats on the launch of 2.0!

I’m on an Intel MacBook Pro and the 3D graph actually renders quickly. I can move around it / rotate it without any speed issues. I also have over 2000 cards. The fan does heat up sometimes though.

That’s interesting. I wonder if it’s because you have more GPU horsepower, or because our databases have a different number of connections, or both.

In my hierarchy I have about 100 parent cards (that have child cards), and maybe 400 backlinks. A number of cards have two or more parents. A fair number of cards are color coded. With all 2000-plus cards with these connections in 3D (or 2D) graph view, I have no speed complaints, just the occasional fan noise.