[Testing needed] Faster implementation of ColorSmudge brushes

Hi, all!

Last week I worked hard to optimize the colorsmudge brush engine and make it faster. I have some progress here. According to my benchmarks, the colorsmudge brushes has become up to 20% faster! :slight_smile:

Could you help me with testing the new implementation? I wonder if this new algorithm caused any regressions, artifacts or bugs that I didn’t notice during my initial testing…

Test Plan

  1. Try to paint with normal brush in “wash” mode with low opacity/flow values. There should be no artifacts visible
  2. Try to paint with ColorSmudge brush in the following modes:
    • Smear Alpha is on/off
    • Inherit Alpha is on/off
    • Any selection is on/off
    • Some color channels of the layer are off

Test Packages

  1. DK1

Benchmarking results for 200px auto brush:

old (ms) new (ms) speed increase (%)
Dulling, Smear Alpha 8212 6616 19.43%
Dulling, No Smear Alpha 6983 6600 5.48%
Smearing, Smear Alpha 6658 4875 26.78%
Smearing, No Smear Alpha 5604 4869 13.12%

PS:

The patch should also make painting in 16-bit-integer RGB mode much faster, though I’m not sure how popular this mode is :wink:

More technical details about the new algorithm can be found in the original merge request.

12 Likes

Hi Dmitry,

I tested with 200-500px brushes also.

  1. I can’t see any artifacts with two different normal brushes.
  2. ColorSmudge behaves perfectly fine, smear/dull on and off, with and without selection, with different color channels turned on and off, also the clipping on the layer beneath works as usual while painting and smudging (that is the “inherit alpha” function, correct?)
  3. I noticably feel the performance upgrade.

All in all, well done. Thank you for your hard work. :slight_smile:

In my case, the brush editor button disapears after opening it the first time. F5 doesn’t work either. Have to relaunch the app for it to come back. Windows 10.

The brush engines aren’t there either.

Did you try other beta versions of Krita 5 in the last couple of weeks? F5 didn’t work for me for a while now in the betas, might not be anything with this build. Yeah, the brush editor behaves a little weird, but finally it is in it’s own window :slight_smile:

It’s been a while since I last opened a 5.5.0 alpha, and didn’t do much, so the brush editor button disappearing/F5 not working might have been a while now.

That is a different change done in 5.0 not related to this issue. The brush editor has been converted to separate window. The issue is known. So ignore it and test the colour smudge brushes

Wow, i am impatient, new things are coming! cool, superb @dkazakov , thanks

1 Like

i’ve tested it. No artefact here and feel smooth with 200-400px brush :wink:

If you build a macOS package, I’ll test it for you too. Only that it runs really well on every platform :sweat_smile:

First try:
I get this, even after delete the cache files. And the shown Path is not available in my computer. C:/dev, i don’t have anything like that. What can i do? Maybe am i missing something? :open_mouth:

Second try:
I delete everything in /krita user folder and restart again and Krita Starts ok. Now i am in testing stage :smiley:

@RamonM for the error at starting i just removed the “KRITA_RESOURCE_VERSION” and “resourcecache.sqlite” files in the krita resource folder (i think it’s the bdd for the new resource system)

Be careful while testing, versions which are branched off from Krita 5.0 they have new resource system so they may change your resource folder. Keep a backup

No problem, i always backup. I am thinking more in people who wants to help but they are young and without experience in this field. :wink:

@mco i take note. My solution was to delete all the folder content and start from scratch as i did in Kubuntu previously too. by the way i have to test this in my laptop yet. In the morning if i have time.

So, I’ve been testing the new packages. The new mode is really nice to use, and I am excited for when it gets in, I think I might finally update my old painting pack :smiley:

That said, the lightnessmap and gradient map texture modes don’t seem to work as expected?


Top is new smudge brush, bottom pixel brush both with lightness mode.

I am also having trouble getting gradient-map tips to work with gradients that can change fore/background color, but I suspect that might be a general resource rewrite problem.

EDIT: I am a moron and confusing two MRs of dmitry’s in the exact same field ;_; This is for the new smudge mode.

1 Like

Hi, @wolthera!

I have added your report to the correct MR. Speaking truly, I don’t really like the current state of our texturing options. They don’t do what they were initially supposed to do. And technically-wise, it is better (more efficient) to move the new texturing options into a different place (indirect panting pass), but that is a different topic.

About “lightness and gradient texture” option in the Color Smudge. I don’t think it is technically possible to make it work “as expected” at all. I would really love to remove this option at all and keep these modes only for the brush tip. Though I’m not sure if we have already released them or not.

Okay, since no visible regressions were found, I have merged this optimization into master. Thanks everyone for testing! :slight_smile:

I’m still working on the new color smudge algorithm, but it is not feature-complete yet, so I don’t start a broad testing campaign here on KA. When it becomes feature-complete, I’ll start a thread here on KA :slight_smile:

If you don’t want to wait and would like to track the changes on the new colorsmudge engine or do some preliminary testing, you can join the discussion under this merge request, I build testing packages for it regularly: WIP: New colorsmudge engine for Krita 5.0 (!756) · Merge Requests · Graphics / Krita · GitLab

This topic was automatically closed after 6 days. New replies are no longer allowed.