wincohi / bookmark-notes

a firefox webextension to bring back pre-62 bookmark annotations
Mozilla Public License 2.0
23 stars 4 forks source link

Generate tree HTML in the background instead of the sidebar #25

Closed wincohi closed 6 years ago

wincohi commented 6 years ago

If we can move this operation to the background script and merely have the sidebar copy it when necessary, this would be easier performance-wise, especially in cases where the user has more than one window or is frequently opening and closing the sidebar.

pixelmode commented 6 years ago

I normally have 20-30 windows open at a time, but leave the side panel open (with 2000+ BMs in notes mode). I don't see huge issues with this, but do notice a slight lag of a second or two when an update of some sort happens to the BMs. I am assuming that lag might be what you are indicating.

wincohi commented 6 years ago

I've had a few users (possibly on lower end machines, possibly with a large number of bookmarks, or possibly both) report that printing the tree each time can take a couple seconds, so interacting with the sidebar, especially if it's being frequently updated or closed and re-opened, becomes something of a chore.

Since 17b1c99cf8652b6362dea5f54872b9dc89e0ead3 and other performance-focused commits, it doesn't seem so common, but generating the tree in the background should reduce any of that lag you're experiencing. Rather than each instance of the sidebar having to react to each individual change, it'll just receive an updated tree from the background page.

pixelmode commented 6 years ago

I saw that comment and on the AMO site and understand it better now with a little investigation. You had me at the word chore. I hate chores. To me it was a minor or non-issue on my gear but trying it on a family members laptop with minimal specs (and my huge list), I can see it better. I normally keep my side panel open so I miss most of that issue. Plus by the time I have finished up with something, the panel has already been redrawn. But after downgrading my use environment for a moment, it definitely looks like a big issue for some users (or potentially).