Skip to content

v0.96.2: Improve performance with larger collections & bugfixes - #101

Merged
htkhiem merged 14 commits into
mainfrom
refactor/max-columns
Aug 3, 2025
Merged

htkhiem merged 14 commits into
mainfrom
refactor/max-columns

Conversation

@htkhiem

@htkhiem htkhiem commented Jul 30, 2025 •

Copy link
Copy Markdown
Owner

Performance improvements

A low default value should help with performance on larger libraries. In the future we can probably cheat GTK4 by dynamically adjusting the GridViews' max-columns property according to window width and height.

A code path that bypasses the Stretto cache to load album art from disk into widgets have also been added. This fixes the hangup caused by the Stretto cache not admitting new textures. Performance isn't perfect yet with some stuttering when scrolling & album arts appearing very slowly (at least in debug build mode).

Relevant discussions, including links to important points in the GTK4 source code, can be found in #99.

Bugfixes

@htkhiem htkhiem changed the title Make max-columns configurable Improve performance with larger collections Aug 1, 2025
@htkhiem htkhiem mentioned this pull request Aug 1, 2025
htkhiem added 4 commits August 1, 2025 22:15
Specifically all the path-unregister code.

This commit also refactors the ArtistSongRow to use the new LRU cache
bypass path.
To be executed sequentially there (and still not blocking main UI). This
avoids Sqlite panics when scrolling through a big library whose album
art cache had just been deleted from disk.
htkhiem added 3 commits August 2, 2025 17:01
Bumps local DB version to 2.
And the skip-to-external-provider path when MPD album art downloading is
disabled. And the "do not try again" check. I forgot to reimplement
these during a previous refactor.
@htkhiem htkhiem changed the title Improve performance with larger collections v0.96.2: Improve performance with larger collections & bugfixes Aug 2, 2025
@htkhiem
htkhiem merged commit 460110a into main Aug 3, 2025
@htkhiem
htkhiem deleted the refactor/max-columns branch August 3, 2025 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mistaking cover art for artist avatar and vice versa Client hangs (possibly due to large library) selecting song in playlist crashes euphonia

1 participant