Modified some aspects of the Outline view on the Tags tab for a potential performance improvement.
This beta version is no longer available. Look for a later beta release or the most recent Mac App Store release.
Modified some aspects of the Outline view on the Tags tab for a potential performance improvement.
This beta version is no longer available. Look for a later beta release or the most recent Mac App Store release.
… and what an improvement! My collection consisting of over 2100 notes now opens instantaneously. Tag collapsing now does, too.
As it turns out, @benwf, I owe you a big debt of gratitude.
I’ve always worried a bit that Notenik could seem a bit sluggish at times, and that it might choke altogether on a large collection of notes.
And then you came along and my worst fears were realized!
I somehow suspected that this was all due to some terribly inefficient code I must have written at some point, despite my best efforts.
When you reported the problem with the Tags outline causing the app to freeze altogether, that gave me some focus in terms of my investigations.
I then put in print statements at the beginning of all of my functions, so I could see what code of mine was being called.
Which revealed that… none of my code was being called during the collapse operation.
Which left me scratching my head.
And sent me looking in a different direction.
And then when I looked at the NSOutlineView in detail, the first thing I saw was a variable that could be set to strongly reference items in the view.
And which defaulted to being on.
So I turned it off, with one line of code.
Et, Voila!
As you say, the difference was astonishing!
In hindsight, I guess I can understand why the one switch made such a difference.
But I don’t think I would have discovered it without your test collection, and your prompting.
So thanks!
Glad to get your report that it made a big difference for you as well!
Oh wow, that’s an interesting read and to hear about! I’m really glad it turned out to be a relatively easy fix in the end. It’s amazing how much of a difference that one configuration change made.
I can definitely attest that the improvement is astonishing! Notenik feels so much snappier now. (looks at Safari updates)
Thanks for putting in the effort to investigate and fix this. I know tracking down performance problems is rarely easy, especially when it ends up being in the frameworks rather than your own code. Nice sleuthing!
Anyway, I’m really happy I could help out, even if indirectly. Glad you were able to get Notenik running even more smoothly. Here’s to better performance going forward!