Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable sync icon animation #5941

Closed
wants to merge 1 commit into from
Closed

Conversation

felixwrt
Copy link

During my investigation of #4918, I found that the animation of the blue sync icon in the tray causes massive slowdowns when the tray is open. I don't know exactly why this is happening, but I suspect that there's a scheduling issue between running the animation and performing network IO. Both tasks could be running on the same thread and blocking each other or something like that. Unfortunately, I don't have enough knowledge about Qt and this codebase to find the root cause and fix the problem there.

Since the performance bug is pretty severe, I'd like to propose a quick fix instead: Simply turning off the animation. With this single line change, the icon won't be spinning anymore, but file transfers will be a lot faster. IMO, performance beats aesthetics in this case.

Let me know if this would be an option for you. Thanks in advance!

Fixes the performance issue reported in nextcloud#4918.

Signed-off-by: Felix Wirth <[email protected]>
@nextcloud-desktop-bot
Copy link

AppImage file: nextcloud-PR-5941-9a4ca0ae4945bbc64735cb9b2e657f0c9562e887-x86_64.AppImage

To test this change/fix you can simply download above AppImage file and test it.

Please make sure to quit your existing Nextcloud app and backup your data.

Copy link
Collaborator

@claucambra claucambra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that functionality > aesthetics in this case but, IMO, this is not a real solution. There are ways to get this animation running without blocking/impeding the rest of the app

Still, thanks for surfacing this -- curious that the simple sync animation can wreak this much havoc. Will investigate a bit more

@PhilippSchlesinger
Copy link

@claucambra While this is not a real solution, it could work around a serious performance problem in the nextcloud client.
I would suggest to applying this quick fix until a real solution to the root problem is found.

@PhilippSchlesinger
Copy link

@claucambra, @felixwrt:
As this is a long-lasting issue with a severe impact on the performance of Nextcloud Client, could you both maybe share some hints which code paths are affected by the change introduced in this PR, maybe even in the original issue #4918 so more pleople could help tracking down the root cause.

@felixwrt
Copy link
Author

I know next to nothing about the Nextcloud client implementation in general and Qt in particular. I would suspect that NC uses Qt incorrectly which causes the slowdown. I could imagine that the animation and the file transfer handlich are running on the same thread and are blocking each other from making progress, but that's only a theory. I tried to find the root cause before opening the PR, but didn't succeed. I can't be more helpful, sry.

@felixwrt
Copy link
Author

felixwrt commented Jul 5, 2024

Closing this as an equivalent fix was done in #6691

@felixwrt felixwrt closed this Jul 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants