Lazy Plugin Loader - This plugin will significantly reduce the time it takes for your vault to open.
It does this by adding a configurable delay to loading your plugins. This lets Obsidian focus solely on opening your vault files, and stops complex plugins from slowing things down. Depending on the size of your vault, you can get your startup down to less than 1 second.
So glad to see this has made it into the community plugins store! Iâve been following along since the first releases on Reddit and updating via BRAT, great to see itâs now a standalone official plugin!
Thanks very much for your hard work on this, itâs a great little addition.
The first note (homepage) that I load contains several lists of my notes, which are created by the dataview plugin. These lists/overviews always took a second or so to be fully loaded. Now they show up instantly. This feels so much better.
We seem to have a misunderstanding here.
Let us sort it out.
Thanked you for the plugin with a like.
Assumed not needing it on desktop where usually people only need to fire up the app once and have plenty of time.
Conceded being useful on mobile, butâŚeven there if you have 10-15 plugins to load (done by core Obsidian), it is fast (for me), but if you have a biggish vault, more time is spent on loading the vault and cache anyway (admittedly, the workspace loading time has been optimized).
Finally, expressed my curiosity as to whether it was the plugin being responsible making the loading of a Dataview-laden note better as it is a known thing that only upon being let in the app will DV start indexing anyway.
And finally, am I correct in assuming that this latest iteration of the lazy loaders (did not try it, sorry) is no different from the forerunners in that it loads plugins only after the app has loaded up, right?
So the loading time is slashed off at the beginning only, meaning the app lets you in a little earlier and you have control over how to prioritize enabling plugins you need.
So, if anything, by my reckoning, any Dataview rendering should ultimately be done more slowly than without employing the pluginâŚ
Correct me if Iâm wrong please so people interested can make an educated decision about the usage of this plugin.
If you set Dataview to be Instant and every other plugin to be delayed by 1 second, your Dataview rendering would indeed be available faster than if you werenât using the Lazy Loader plugin.
In my own vault of 5000 notes with ~30 plugins, using the above configuration reduces the time from Obisidian startup to Dataview fully rendered view from 2.22 seconds to 1.41 seconds.
This was a benchmark performed as an average of 20 test openings of the vault. The Dataview query outputs the time to a file to determine the end time of the benchmark:
Yes, thatâs understandable, given we have no control over the prioritization done by Obsidian. Whether it is done A-Z (D for Dataview would be quite high then) or any other wayâŚ
Yes, Alan, actually this in itself will make the plugin worthy of installing for people â whose number can be many â who fall in on Dashboard files with Dataview queries in them.
This plugin will be a good complement for the start up time optimization job in the works (or on the horizon) by the dev team.
Love this. Works like a charm. You always post / create good stuff Alan.
I had given up on plugins on mobile because the delayed startup time bugs me too much, but thanks to your plug-in, no more difference with/without plugins! Thank you!
Btw I thought I was crazy but here and there it seemed that vault loading time also was 2-300ms shorter with lazy loader enabled?!
Hi! I used to use it under BRAT, and I found it can be installed through plugins store now. I have tried, but failed to install it no matter how I have tried. Have you ever met someone who has the similar issue?
That is a superb plugin - i was using it with BRAT and iâm glad itâs now in the plugin store!
Only minor issue i have - it doesnât seem to respect when plugins are disabled in Obsidian and sets them to short delay or whatever. Would be great if it would read the plugin state from Obsidian (activated/disabled) and uses that for the initial configuration of delays (i.e. deactivated plugins are set to Disable plugin and activated plugins to whatever the default configuration is.)
It certainly already does that, and you can see that in the code here:
If you have a defaultStartupType configured in the settings then it will use that if you havenât specifically disabled the specific plugin in the Lazy Loader settings.
For your reference, there is no âdisabled stateâ in Obsidian, there is only an enabled state. So if you manually disable a plugin from outside the Lazy settings page, itâs not able to tell that youâve done that. The absence of enabled does not mean disabled, it just means ânot running right nowâ.
So if you manually disable a plugin from outside the Lazy settings page, itâs not able to tell that youâve done that.
Thanks for clarification, i realized my issue was just that.
Have Lazy Loader installed and set everything up
âDisableâ arbitrary plugin from Obsidian settings > Community plugins
Reload Obsidian
Plugin is active again because i didnât also deactivate it in the Lazy Plugin Loader settings
That behaviour seems buggy at first but i see now why it happens. I guess you just have to remember to deactivate the plugin in the Lazy Loader settings and it works just fine.
Just curious - with the plugin loading overhaul in 1.7.2/3, is there still a big performance gain to had by using this Plugin? It seems to me the creation of this plugin has spurred some action from the Obsidian Devs to accelerate plugin loading natively!
Just curious on your thoughts. Thanks again for this plugin!
Thank you for making this plugin, Alan! Itâs really helpful, and I appreciate that people like you make this community so helpful and the Obsidian experience so smooth