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

Library scrolling very slow with cover art column showing #10223

Closed
mixxxbot opened this issue Aug 23, 2022 · 18 comments
Closed

Library scrolling very slow with cover art column showing #10223

mixxxbot opened this issue Aug 23, 2022 · 18 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: daschuer
Date: 2020-11-21T11:37:48Z
Status: In Progress
Importance: High
Launchpad Issue: lp1905124
Tags: library, performance


In the current Mixxx
2.4.0alphapre-0ubuntu1mastergit7574~bionic
I can no longer scroll continuously through the library.

During Entering a search phrase Mixxx gets stuck and the keystrokes are buffered and appears only after a few seconds.

This makes Mixxx unusable for using Live.

My setup uses a internal spinning HD for library and files connected via S-ATTA.

Mixxx 2.3-beta is not affected.

I did not notice it before, because on my development machine I have only a few tracks and a internal SSD.

@mixxxbot mixxxbot added the bug label Aug 23, 2022
@mixxxbot
Copy link
Collaborator Author

Commented by: ronso0
Date: 2021-05-11T12:24:59Z


Can you still verify with 2.4?
There was an issue with high CPU for covers of missing tracks in 2.3 recently that got fixed.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2021-10-22T14:24:38Z


I have just updated my productive system to 2.4 (latest main), but I need to downgrade right away because of this issue. Really a 2.4 blocker for me. I am currently on Ubuntu Focal 20.04 LTS.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2021-10-22T21:01:13Z


Does not affect Fedora 34.

@mixxxbot
Copy link
Collaborator Author

Commented by: ronso0
Date: 2021-10-22T21:42:00Z


@daschuer
What debouncing time is used? maybe it's set too low.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2021-10-22T22:06:29Z


I have increased the debounce timeout to 1 sec, because the default doesn't work for me. But even the default doesn't make Mixxx unusable.

@mixxxbot
Copy link
Collaborator Author

Commented by: ronso0
Date: 2021-10-22T23:31:36Z


@daschuer
Does hiding the cover column restore normal scroll experience?

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2021-10-22T23:41:56Z


The debounce time is at 287 ms.
Restore defaults does not change the value.
Is this correct?

I have just set it to 1000 ms, but the scrolling issue remains unchanged.
The it effect the seatch result only.

By the way, unusable is a too hard term literally. It just hampers me in my normal workflow in a way that I prefer to use 2.3.

Do you have an idea what make has happened that creates the delay?
Did you test with the library + files on the same spinning HDD?

After changing the debounce time to 1000 Ms I have noticed another issue with the debounce time itself:

  • You type the first character
  • Wait for the result
  • When it appears you instantly continue to type
  • This is exactly the time when the cover arts are loaded and the GUI stalls again preventing to finish the search phrase.

A workaround would be to wait the debounce time again before refreshing the cover arts.
This would give the use the chance to delay cover art loading until the search phrase is complete or until he waits intentionally for cover arts.

Maybe this is a workaround for the scrolling issue as well, before we have found the root cause.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2021-10-23T11:10:43Z


Please also consider that the cover art hashes need to be re-calculated once after upgrading to 2.4.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2021-10-25T16:00:28Z


Yes! The issue is "fixed" when disabling the cover-art column.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2021-11-13T23:38:49Z


Is this bug still reproducible?

@mixxxbot
Copy link
Collaborator Author

Commented by: foss-4
Date: 2021-11-14T10:39:52Z


I think yes. Explanation was given by Uwe https://bugs.launchpad.net/mixxx/+bug/1905124/comments/8

This is a one time process. So should this bug be set to wontfix as mixxx is behaving as intended? Maybe a hint about this should be added to the release notes?

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2021-11-14T13:08:26Z


Yes, that is the mayor issue not to switch to 2.4 branch of my productive setup.
It is a regression to 2.3 which already has covers.

@mixxxbot
Copy link
Collaborator Author

Commented by: foss-4
Date: 2021-11-14T13:26:40Z


From my understanding, re-population of hash database is a one time process after which scrolling performance is then restored. This is not uncommon in software development. Not sure I would call this a regression.

But clearly this needs to be communicated to users, so that they can make an informed decision. Maybe instead of only mentioning this change in changelog, a dialog could be displayed offering to rehash covers for entire library with options

  • "Update Cover Information"
  • "Not Now" (dialog will appear again on next launch)
  • "Don't Update Cover Information" (no rehashing and dialog will not re-appear)

Maybe we can also come up with better text, this is just to share the idea.

@mixxxbot
Copy link
Collaborator Author

Commented by: foss-4
Date: 2021-11-14T13:41:40Z


And re: scrolling performance - there is a critical macOS qt bug opened 2019 Jan with recent activity:

Bug: https://bugreports.qt.io/browse/QTBUG-73117
Patch: https://codereview.qt-project.org/c/qt/qtbase/+/373409

Really hope the qt team will be able to address this.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2021-11-14T13:51:51Z


We may consider backporting that Qt patch to our vcpkg builds.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2022-08-20T10:49:31Z


The issue is a redundant cover lookup in the main thread after a cover has been discovered without a cover digest. It is a one time issue, but if you have many files in the database it happens many times during a performance.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2022-08-20T11:12:25Z


#4904

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@mixxxbot mixxxbot added this to the 2.4.0 milestone Aug 24, 2022
@ronso0
Copy link
Member

ronso0 commented Aug 29, 2022

fixed by #4904

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants