-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Implement module in_focus process cache #18195
Implement module in_focus process cache #18195
Conversation
For simplicity using the commit from #18071 |
8008fcf
to
e963243
Compare
Some OpenCL related fixes, some refactoring and removed dependency other commit |
e963243
to
15e16f2
Compare
@ralfbrown you might want to have a look now. A simple reproducer would be:
|
Release note: Improved user interface responsiveness for blending operations |
The standard pixelpipe cache offers *input* data for a module to be fully processed if all parameters including blending stuff match. This commit implements a single line cache per pixelpipe only effective for a module being in focus *and* doing some blending. Data are possibly read from this cache instead of the possibly costly module->process/_cl. Possibly write to that cache if data were not valid before. Avoid some dereferencing Fixes darktable-org#18180
15e16f2
to
8fac802
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I can reproduce the speed-up, nice!
@jenshannoschwalm : Just a gentle side note, do not remove the [release notes: pending] tag. This is the way for me to list the needed notes and I remove the tag when I have integrated the note into RELEASE_NOTES.md. |
Maybe have a label such as "release notes: proposed" so you can see at a glance whether the thread for a PR includes release-note text? |
Updated:
The standard pixelpipe cache offers input data for a module to be fully processed if all parameters including blending stuff match.
This commit implements a single line cache per pixelpipe only effective for a module being in focus and doing some blending.
Data are possibly read from this cache instead of the possibly costly
module->process/_cl
.Reading from this cache is reported in logs with -d pipe
Possibly write to that cache if data were not valid before.
While being here some cosmetic code simplifications.
Fixes #18180