victrme / Bonjourr

Minimalist & lightweight startpage inspired by iOS
https://bonjourr.fr
GNU General Public License v3.0
836 stars 99 forks source link

Performance is slowed down on recent versions of Bonjourr #345

Closed UnifeGi closed 3 months ago

UnifeGi commented 3 months ago

Since 19.2.0 came out, the performance is... slow, opening up settings, new tabs, those have been slowed down. While on 19.1.0, it's working just fine... opens up normally as it should. On 19.2.1 (the latest, as of writing) has the same issue as in 19.2.0 Also, this happens on any devices as it seems, maybe... (tried on linux and android, still the same.) This issue might be on where the changelog is on 19.2.0..? Just want to know if it's a problem... because I don't really want to open up a new tab to show a slowed-down fading animation for showing the wallpaper.

If that gets solved, I will love Bonjourr again! 💚

victrme commented 3 months ago

Thank you for the confirmation @UnifeGi, I thought I was crazy! I didn't see any issues on my windows desktop, but it's a mess right now on macOS. I assume this is the same problem on Android & Linux.

I believe the background slowdown is related to the optimization we added back to Safari. Its creating huge layers that force Safari to use the GPU, but it seems to really confuse Chromium. Firefox seems unaffected by it.

There is also an issue with the settings re-rendering (it seems) random elements on scroll. For now it looks like dark magic, I'll report back when I understand what's going on and publish a fix as soon as possible !

solonar96 commented 3 months ago

Same issue. I am using Microsoft Edge, and when I open the newtab page it starts freezing, lagging and works owful. I reinstalled the extension and it works better, but still worse than before updating)

UnifeGi commented 3 months ago

Just tried with the new version of Bonjourr (that's 19.2.2) and, it's working smoothly and finely so far. Opening up settings and background loading doesn't stutter anymore, amazing... As a side note here, I didn't reinstall the extension, just updated it to the latest.

Sorry about not saying what web browser I was using but, I'm using Chromium on both Android and Linux. Before (when I was on 19.2.1), even the UI of the web browser on Linux was lagging when it's on the new tab, if you switch to a different tab, it won't lag anymore.

But what was more interesting about on Android is, even if updated to the latest version, it still kinda lags when opening up settings, then I found out it was blur... so I guess blurring the background is more intense on the browser? On my computer, it doesn't really stutter... Just moving the slider all the way to the left on "Blur intensity" to turn off blur, and it's working smoothly on Android.

I 💚 Bonjourr! 😂, what an amazing project and work into this. Thanks so much.

victrme commented 3 months ago

Thank you for loving Bonjourr, it warms my heart 🥲

The blur effect is really GPU intensive, so its pretty hard to optimize on mobile. The slowdown when opening the settings is because since 19.2.0, the settings menu is never rendered in the background. What happens is that when you click on the icon, the page has to render the whole menu, which can be laggy.

This will definitely be improved in the future.

Gitoffthelawn commented 3 months ago

Hi Victor,

I just came by to post that I think I detect a bit of a slowdown with v19.2.2 as compared with v19.2.1 (or was it v19.2.0? they were released in rapid succession).

Note that I didn't have any issues with v19.1.1 on Firefox in Linux.

The possible slowdown is limited to when Bonjourr open in a new tab. It feels like it now takes a bit longer to load than before v19.2.2. For me, after it's page is up and running, there are no performance issues, and the settings have no performance issues. It's simply the initial time to render the page now seems a bit slower. I did not change any settings.

Thanks again for Bonjourr! It always make me happy. 😃

victrme commented 3 months ago

There is a slight slowdown because of this change: "Fixed page not saving version number".

Because of a 19.0.0 bug, I had to force everyone to save the current version number to be able to clean their storage and update translations. I got a bit careless and the page is now saving version number and translations on every page load...

I'll wait about a week for most people to get the update, and put everything back as it was. Hopefully this is the cause of the slowdown, and hopefully it's not too bad.

And thank you for your continuous support 🙏

Gitoffthelawn commented 3 months ago

Thanks Victor. Hopefully, that's it. I have a small hunch that it could be a bit more than that, but it's just a hunch based on the amount of change. I'm guessing Bonjourr is about 10-20% slower to load now (I didn't profile it before and after, so I'm estimating), and that feels like a bit much for writing a small amount to storage. So maybe you'll think of something else too. Or maybe not. 😉 😃

You are most welcome for my continuous support. I truly appreciate the effort you and Tahoe have put into Bonjourr. Because I prefer a very simple home page, I only use a tiny bit of Bonjourr's functionality, and so I love that it can be customized to meet my minimalistic desires. I also love that you've made it so easy to add my own CSS code to it. I have a substantial amount of CSS code that I have written to customize Bonjourr to my liking, and the built-in editor makes it enjoyable to tweak my code to get the results I want. As always, thank you both for Bonjourr and for being wonderful people. ❤️

victrme commented 3 months ago

The amount written to storage doesn't slow down the page because it's in another process, but calling the storage does. I think it is essentially voiding the optimizations I've made during 1.17 & 1.18. I hope I'm right though 😅

You can thank the creator of prism-code-editor for the CSS editor! I wanted to do that myself, but his implementation was so good I had to use it.