-
Improvement
-
Resolution: Fixed
-
High
-
2.3.2
During processing, if the set of selected files with `n` files change (usually in form of removal of one selected item that is moved to a different section, either album or cluster), a number `n-1` of checks and updates are executed. These checks are caused by MainPanel._view_update_selection, as detailed in #1543 (comment) .
The already existing `_ignore_selection_changes`, that skips the `_view_update_selection` check, is used to mitigate that issue, ignoring selection changes during moves.
The other mitigation reduces explicit UI updates by removing `if self.isSelected(): [...]` code blocks of all `update()` calls of every class in `itemviews.py`. This delays screen updates of individual changes, but reduces the amount of calls to draw, which speed up operations such as saving.
The overall results are faster moves (clustering, tagging, lookup, manual move) and no slowdown during operations (move, save, etc) due to selecting files.
Related performance problems have been reported: here, here, here
- is related to
-
PICARD-1780 Moving tracks between sections is slow
- Closed
- resolves
-
PICARD-936 UI sluggish when doing load/save over network share
- Closed
-
PICARD-744 UI Freeze (or very slow progress) when saving Tags
- Closed
-
PICARD-598 Interface unresponsive when saving files on slow filesystem
- Closed