Bug 421098

Summary: Speed control of brush properties has an impractically large 'Fast' value.
Product: [Applications] krita Reporter: Ahab Greybeard <ahab.greybeard>
Component: UsabilityAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: dimula73, tomtomtomreportingin
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: A speed curve for reproducing the issue

Description Ahab Greybeard 2020-05-06 08:33:11 UTC
SUMMARY
This is the case for all versions.

The Speed transfer curve has input values from Slow (zero) to Fast.
The output is 0% to 100% of the controlled parameter/property.
(As far as I can tell, the Speed is proportional to 'canvases per second'. This results in the behaviour being independent of different canvas sizes but a given manual stylus stroke has a higher determined speed at higher zoom levels.)

The Fast speed is so large that even with totally uncontrolled 'swipes' across the canvas it's very difficult to get near to the 100% output value.

STEPS TO REPRODUCE
A detailed explanation with illustrations has been presented at:
https://krita-artists.org/t/does-anyone-use-speed-control-in-their-brush-presets-a-proposal/6181

PROPOSAL
Any change to the current behaviour must not affect any existing brush presets that use Speed.

The following is proposed:
The Speed transfer curve control should have a 'scaling' slider added that shows a scaling factor of 1 to 100.
The 100 setting should be the default setting and correspond to the current behaviour.

If the scaling is set to e.g. 50, then the default/current value of 'Fast' would be reduced to 50% of that value. (Or the determined input speed would be multiplied by 2 before being passed as input to the current transfer curve.)

ADDITIONAL INFORMATION
Simple (and limited) experience shows that a scaling factor of 10 would give access to the full transfer range at 'reasonable and practical' speeds. Anyone who wanted to use fast swiping actions could set it to 30 or higher. Someone who wanted to use relatively slow speeds to fully control a brush property could set it around 5 or lower.
Comment 1 tomtomtomreportingin 2020-08-11 01:43:16 UTC
Created attachment 130775 [details]
A speed curve for reproducing the issue

I can vouch for the impracticality of the current value.

How I reproduce it is setting up the speed curve as demonstrated in my attachment. This makes it so that only dabs done above the 50% threshold will be shown. If you try making strokes yourself using this curve, you will find it absurdly impractical to reach above even 50% of the max speed value.
Comment 2 Bug Janitor Service 2021-08-11 17:41:02 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/996
Comment 3 Dmitry Kazakov 2021-09-16 12:06:34 UTC
The aforementioned merge request has been merged! :)