ozntel / file-tree-alternative

This Obsidian Plugin allows users to have a different file explorer experience.
459 stars 32 forks source link

UI Non Responsive on Large Vaults #92

Open grantx2016 opened 2 years ago

grantx2016 commented 2 years ago

I have a lot of notes (~40K) and unfortunately this plugin does not scale very well at all. It slows the entire Obsidian app to the point of being completely unusable.

As soon as I turn off this plugin my Obsidian responsiveness returns to normal (which BTW is very snappy now even with 40K notes due to recent performance improvements in Obsidian).

ygol commented 2 years ago

same here. I 'only' have about 3k notes but the plugin is painfully slowing the responsiveness

jerviscui commented 2 years ago

Performance is critical for explorer.

Banus commented 1 year ago

I have the same issue, a delay in the refresh of about 4s with 2.5k notes when e.g. changing the sort order.

Using the profiler in the developer console, you can see that most of the time is spent outside the plugin code, in enhance.js. Changing a property forces a refresh where he whole file list is destroyed and re-created from scratch, resulting in the slowdown. It's probably possible to cache the list and update only the modified elements, but I don't know enough about React to know how to do it.

webventurer commented 1 year ago

Yep same here. I turned the plugin on with 40,000 notes and it's frozen the app.

ozntel commented 12 months ago

I am trying to increase the speed of the plugin with every release but I suppose it will take a while before I can get to full performance. Within the last release, I removed the connection between the file list and the Obsidian File property so that it doesn't get rerendered if there is a property change for any file. This is the related commit: https://github.com/ozntel/file-tree-alternative/commit/b09748578aea902c282abd60d16e0332309c3146

I also removed any function/item from file components so that rerendering doesn't cost too much work.

I will still work on the issue and make sure that I bring any additional feature that will make the plugin more responsive for more files in the view.

analysisman commented 12 months ago

Same here. I love this plugin and it was essential, but I had to disable it now due to the slowness issue.

ozntel commented 12 months ago

Same here. I love this plugin and it was essential, but I had to disable it now due to the slowness issue.

Sorry to hear that. Is there a chance you can look at the newest version (v.2.4.1) if the Lazy Load of the file list helped to reduce the latency/slowness?

analysisman commented 12 months ago

@ozntel I upgraded to version 2.4.2 and turned on the plugin, but it was so slow that I could barely navigate the interface, so I had to turn it off. I love this plugin, but I'm sorry I had to turn it off. Thank you for all your hard work. FYI, I am using Obsidian v1.5.1, Minimal Theme, and have 40,835 files, 661 folders on MacBook Pro.

analysisman commented 11 months ago

@ozntel Today, I upgraded to version 2.4.3 and turned on the plugin, and I didn't experience the slowness issue. I'll keep monitoring it. Glad that I turned this plugin on again.

ozntel commented 11 months ago

@ozntel Today, I upgraded to version 2.4.3 and turned on the plugin, and I didn't experience the slowness issue. I'll keep monitoring it. Glad that I turned this plugin on again.

Glad to hear it! I fixed a couple of things and I realized I was refreshing the file list twice during each launch and then fixing to root folder, which includes all of the notes in the vault. Let me know if you encounter any issues.