Bug 421098 - Speed control of brush properties has an impractically large 'Fast' value.
Summary: Speed control of brush properties has an impractically large 'Fast' value.
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Usability (show other bugs)
Version: unspecified
Platform: Debian stable Linux
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-06 08:33 UTC by Ahab Greybeard
Modified: 2021-09-16 12:06 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
A speed curve for reproducing the issue (91.42 KB, image/png)
2020-08-11 01:43 UTC, tomtomtomreportingin
Details

Note You need to log in before you can comment on or make changes to this bug.
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! :)