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

Let some time consuming table delegates render into cached pixmaps #13473

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

JoergAtGithub
Copy link
Member

The table delegates of the library take a lot time to paint, especially these with complex widgets, but also normal text rendering. This results in #11603.
This PR improves the execution time for BPM, Preview and the PlayCount delegates by painting into cached pixmaps instead of rendering every control again and again at each scroll iteration.

@ronso0
Copy link
Member

ronso0 commented Jul 16, 2024

It feels like this really makes the waveforms smoother when scrolling a huge cached part of the tracks table.

Did you measure how this affects the global QPixmapCache? Like, how much memory is consumed by let's say 1000 lines?
And do we need to increase the cache limit in order to not drop other cached images like cover art?

@JoergAtGithub
Copy link
Member Author

Did you measure how this affects the global QPixmapCache?#

I did not yet. Before I dig in such details, I want see how it performes on the different platform, especially macOS. Could you run on your Linux system and share the results.

@ronso0
Copy link
Member

ronso0 commented Jul 16, 2024

Hmm I have other priorities atm. If there are no regressions on any of the platforms and with GUI scaling != 100% I'm fine with this change.
Tbh I don't care about frame drops when I'm focused on the library.

@JoergAtGithub
Copy link
Member Author

This is just a Draft for testing and profiling now.
I personally find frame drops very annoying, but of course this is not a functional issue.

@github-actions github-actions bot added the build label Jul 17, 2024
@daschuer
Copy link
Member

This one is conflicting. I have interest to check it out after #13719 is merged.

Copy link

This PR is marked as stale because it has been open 90 days with no activity.

@github-actions github-actions bot added the stale Stale issues that haven't been updated for a long time. label Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build library performance stale Stale issues that haven't been updated for a long time.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants