Library repaint / refresh is slow with Preview coulmn enabled
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
High
|
Unassigned |
Bug Description
1
* enable Preview column in the Tracks pane
* clear search bar to show all tracks (let's say about 100 or more;)
* toggle the FX section on/off
(or any other skin section above stacked on top of the library)
> library and the toggled region repaint jerkily
2
* hide Preview column
> skin toggling works fluidly
3
* enable Preview column
* clear the Tracks table by searching some random string
(or go to some empty playlist)
> skin toggling works fluidly
Skin toggling works equally fast in tests 2 and 3, whil it's noticeably slower with visble Preview buttons.
It's also quick if I fix the height of the library so that it wouldn't resize when any skin region above is toggled.
- it doesn't matter if PNGs or SVGs are used for the Preview button.
- it doesn't matter if the library is loaded as Singleton or regular template
Basically that's the only GUI performance regression I notice after switching to qt5. The rest appears to flow at least as nice as with qt4, and shutdown (skin desctruction) is way faster now.
Changed in mixxx: | |
status: | New → Confirmed |
importance: | Undecided → High |
milestone: | none → 2.2.1 |
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
I encountered the same problem and after disabling the preview column the gui works fine (thank you!).
I'm using a current KDE Plasma desktop (nothing exotic), so I think more users will be impacted by this.
Not only does the region repaint like crazy, this will block the UI for up to a second if you have much screen estate and many tracks are visible. It seems that the repaint events run from bottom to top and repeat in a loop. Each loop has one or two elements (from the bottom) less to repaint until all are repainted. Maybe this helps?