I was experimenting with toc-nav (from tiddlytools.com). I liked the general idea and appearance, but I noticed that my computer fan was always running (which is my unscientific way of telling if something has a performance problem). I was navigating through an extensive list of 157 items, and each step takes about 2 seconds.
I’m thinking the problem is that it is having to constantly recalculate the flat list. Not a problem I imagine if you only have 20 or so items.
As an experiment, I tweaked the code to make my own version that uses a stored list for navigation. Now I could navigate each step in less than a second.
I’m thinking a version that includes a tiny “update” button might help performance. The button would store the flat list for the current navigation somewhere. The user would only use it after they’ve made changes to the source material.
For larger trees, using <<toc-nav>> may add a noticeable delay while navigating between tree tiddlers. This is because it calculates the <<toc-list>> output each time a tiddler is rendered. To address this, <<toc-nav>> already includes support for improving performance by using a “pre-computed” toc-items list of tiddler titles.
Maybe I’m using it wrong? I put it in a viewtemplate. Maybe there is some other scenario where you somehow stay on the same tiddler? Because otherwise it seems like every time you navigate to a new tiddler, the variable will be empty and it will have to re-calculate.
In any event, when I navigated using a pre-calculated (stored in a list field) value, navigation occurred twice as fast as when using the default toc-nav.