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

--- Comment #31 from RN <rafanav...@hotmail.com> ---
Hi Alvin, thank you for getting back to this.

I think the delayed painter you wrote is not going to help in this situation.
Let me explain.
According to this (https://phabricator.kde.org/T4182#62709), Dmitry observed
that the longest delay between window manager updates was about 50ms. So the
window manager was having slow updates while the stabilizer poll timer was
going fast (as they're threaded), accumulating the same position over several
times. That's what causes the bent lines problem.
But that was on his tests, on his system. Maybe some user's system will have
window manager delays of 60ms or more?

Forcing the visual updates (what the delayed painter is doing) when the window
manager can't keep up with visual updates in the first place is not going to
give the expected result, it would stutter anyway.

Therefore, I think the best possible timer interval to use as the default in
the preferences is: no value at all, make it dynamic. Compare the interval from
the previous and current tablet events (in KisToolFreehandHelper::paint), and
any time this interval is greater than the current stabilizer interval then
increase the timer interval to be equal to or greater than that. In Dmitry's
case the timer interval would've grown until reaching 50ms or more.
The timer is stopped when the stroke ends, and when a new stroke begins the
timer interval starts at some default value (16ms for example, or 1ms like
2.9.11 although that might be too fast).

-----------------
Whatever is decided, I think something should be added to the interface (maybe
in Configure Krita -> Tablet Preferences), like spinboxes to set timer values
so that users don't have to go and modify 'kritarc' themselves, and be able to
quickly test different values without having to restart the program. Someone
above mentioned having difficulty doing that, for example.
Regards.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to