Bug 386767 - [Multithreaded brushes] Add preference for adjusting maximum update period
Summary: [Multithreaded brushes] Add preference for adjusting maximum update period
Status: RESOLVED WORKSFORME
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: 4.0 pre-alpha
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2017-11-12 09:00 UTC by Nicholas LaPointe
Modified: 2018-10-28 03:34 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicholas LaPointe 2017-11-12 09:00:33 UTC
On IRC yesterday, I commented that I preferred the smooth visual update rate of brush strokes that existed before multithreading was added.
In essence, even though the real time taken to fully finish a stroke might be shorter, the effectively slower frame rate when rendering the dabs gives me a sensation that the performance is worse.
I feel that I prefer a faster frame rate at the expense of dab rendering speed.

If it turns out that others share this opinion, I'd like to propose adding an preference (hidden or visible) that adjusts the maximum bound of m_currentUpdatePeriod used in KisBrushOp::doAsyncronousUpdate().
Comment 1 Alvin Wong 2017-11-12 10:50:24 UTC
I agree there should at least be an option to prefer a higher update rate. I also think if the performance penalty isn't too significant, the default value should give preference to a higher update rate. I think the target minimum update rate should be at least 25fps instead of 12.5fps...
Comment 2 Neviril 2017-11-13 07:06:37 UTC
In an earlier bug report I noted that the effective update rate currently (with the multithreaded brush system in place) appears to be significantly lower than the value set up in user settings. This could be related to the perceived feeling of worse performance reported here.

https://bugs.kde.org/show_bug.cgi?id=386620

In a test I tried extending the maximum fps value allowable in the settings, and that seemed to help, but this is just a workaround that doesn't solve the underlying issue(s) with the painting framerate.
Comment 3 Dmitry Kazakov 2017-12-01 13:34:19 UTC
Git commit 04e0f8fa8f1f7f210767d1341307185e9c81230a by Dmitry Kazakov.
Committed on 01/12/2017 at 13:33.
Pushed by dkazakov into branch 'master'.

Make the lower limit of the brush update period shorter

This patch should also be a fix for 386767, but it needs confirmation
from the user.

Ref T7309

M  +1    -1    plugins/paintops/defaultpaintops/brush/kis_brushop.cpp

https://commits.kde.org/krita/04e0f8fa8f1f7f210767d1341307185e9c81230a
Comment 4 Dmitry Kazakov 2017-12-01 13:35:59 UTC
Hi, Nicolas!

Could you check if my two latest commits fix the problem for you?
Comment 5 Nicholas LaPointe 2017-12-10 12:28:46 UTC
(In reply to Dmitry Kazakov from comment #4)
> Hi, Nicolas!
> 
> Could you check if my two latest commits fix the problem for you?
Hello Dmitry,

Sorry for taking a bit to get back to you.

It is a major improvement!
In most cases, I am now satisfied with its performance on my computer. However, I feel that I'd still prefer adjustability. (Reducing the maximum update period still gives me a better impression when using a large brush on a large canvas or when I decrease the CPU limit.)
Comment 6 Andrew Crouthamel 2018-09-28 02:31:53 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Andrew Crouthamel 2018-10-28 03:34:19 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!