I want to know what changed in the 4.2 official release from the git e7fe83c

Sorry for asking about relatively old builds, but I want to know what’s the differences that might be related to the tablet pen pressure and the brush engine.

There have been no changes at all in the tablet code since then: long before that sha1 we merged our tablet code into Qt and Krita does not contain any code related to tablet api’s on any platform anymore. As for brush engines, I don’t know, and a year and three months is just too long to read through the git log.

The git version is… the first ‘nightly’ beta of krita’s flow behavior change. Did you modify any part of the code before the official 4.2?

If you don’t remember that’s fine. Checking the phabricator threads I guess it’s temporarily modified to make an option to enable the older mode? (And maybe something else, I wouldn’t know.)

I want to make sure that it’s going to return to the original code which was applied to the nightly beta, as it is, in next major versions of krita. Which is, you already seem planning to be.

Damn I’m getting the feeling that I’d eventually end up learning C++ to fix this color blending problem in krita by myself or just moving to photoshop. :frowning_face: Despite all those years I’ve been reporting bugs to improve this application.

Which color blending problem?

Also, yes, it is possible to switch to the old flow behaviour.

The newest changes to brush engine are those by @Voronwe13 recently… But maybe if you explain which part of it you have trouble with, I’d be able to recall more precisely what changed happened there.

Also after rereading, do you mean what happened between that specific hash and the 4.2.0 release? Not what happened between that hash and now? That would be easier to check, if it’s important for you, I can try to find, but I don’t promise I’ll find something useful…

Btw afaik recently @Deevad told us that between 4.2.6 and 4.2.9 there was a difference in how Krita handles pressure, which we don’t know why happened but now he doesn’t want to go back to the old version because the new one is much, much smoother and better. Programming is kinda like magic sometimes… in a bad way :wink:

@acc4 : I believe you speak about the change that happened at Krita 4.2; with the new Flow “creamy” behavior. I also think you mean Opacity/Flow blending by pressure when you write “color blending problem”. I don’t think it has to do with the math behind blending actual hue of colors; but more about the Flow/Opacity of brush on canvas (and sure, it affect in a way the blending of hue colors too).

If you want the exact same behavior than before 4.2, you were right in your previous message: an option exist to trigger the legacy opacity/flow behavior. It’s in Settings > General > Tools > “Brush Flow Mode (Need Restart)”. You’ll have choice between the Creamy mode (Krita 4.2+) and the Hard mode (Krita 4.1-).

Yes, it affected all the brush presets (including the default set ship with Krita) and those one were not adapted to that change because it was too difficult to change them: it would affect all custom brushes built on the top and so breaking many things in the personal preferences of user space. To do change of the default set without breaking things, a refactor of all resources system needs to land in Krita first. It was then a collective decision to accept that the default set of brush would behave differently after this change.

When the option was published; I also published a Gif animation guide on how to quickly adapt existing brush preset using Opacity and Flow in Creamy mode to get similar blending feeling (similar than in the Hard mode, without tweaking the settings). Here:

Technically, the 4.2+ behavior feels more interesting and opens more possibilities, imo. The interactions of Opacity option and Flow are more predictable. Older brush presets were full of workaround to sometime emulates effect that now are possible in a easier way. But the default brush kit of Krita 4.x doesn’t reacts anymore “as designed” for a lot of brush. Still, after testing, the brushes are still good enought, imo.

Also, what tiar describes about a recent change I saw, is between 2.4.8 and 2.4.9; and is probably related to something really different. It feels like: or the amount of brush pressure event, or the frequency changed a bit, or the way sensor curves are wrote and read. All in all, I saw only benefits to it because lower pressure and higher pressure are now easier to trigger; as if the systems record this stroke better and before wasn’t (or was skipping a part of the information). All in all, 4.2.6 had tendencies to group “pressure chunk” in the stroke and couldn’t access to the very subtle low pressure input at the initialisation of the stroke while I can get a wider palette of pressure sensitivity in 4.2.9 and that using same tablet, same global pressure curve and same stylus. 4.2.9 has a more “flexible feeling” about the pressure sensitivity. Here is a scribble test in my beta-test folder where I keep track of that type of things (the test is simple: same brush, two colors slots, and trying to do quick stroke verticaly from low to high opacity with only pressure). 4.2.9 on top part of this example under really had smoother and “What you press is what you get” feeling.

I hope I gave you all information about that. Krita developpers are experts with very high development skill and the software evolves quickly by a vibrant community. Maybe you probably just needs to just update more often your Krita version and test the beta version when they are released. Krita 4.2x series is around since a long time. This new behavior was even proposed as a beta for community to test.

So, it will be more realistic to join serious beta-testing than naïvely write by frustration you’ll learn C++ to fix it yourself or threat to go to Photoshop despite your contribution to bug report… (but I welcome you to learn C++ if you can).


@Deevad thanks for writing it all down!

@acc4 Does it answer your question? If not, please do explain your issue. We (as in, developers) do appreciate your work a lot, it’s pretty important for us, and since you are spending quite a lot of time writing those bug reports (and not only, afaik you’re quite active on the KDE forum as well) and testing thoroughly so they’re high quality, I believe it would be just fair if we spend some time to explore and fix or at least work around the issue you’re having. And I guess it will take less time than learning c++ :slight_smile:

Hi, @acc4!

I am the person who usually fixes your reports and I can tell that your bugreports are just awesome, I do really like them! Thank you a lot! :slight_smile:

I would be really happy to help you with your blending problem, but I need a bit more info.

About the mentioned by change @Deevad: yes, in 4.2 we changed how Alpha Darken mode works. This mode is used in brushes working in “Wash” painting mode and affect how “Flow” option works. When implementing this new “Creamy” mode we had a discussion with painters and there was a conclusion that implementing a per-preset switch would make our brush editor GUI even more confusing than it is now. Therefore we did this switch global.

Is it a problem for you? Do you think that a per-preset switch is really needed? Or you were talking about some other bug?

1 Like

It wasn’t a :v:threat. I said that because I was just frustrated with these whole stuff. It’s really odd that some of you took it that way, because me(as just 1 bug reporter) leaving krita mustn’t even be a big deal to you, as far as I understand(which is totally fine btw, no sarcasm at all.).

What I’ve been struggling with krita is that the brushstrokes(the pixel brushes) are not smoothly blend in when I try to blend the strokes with light touches. It was smoother in photoshop, as far as I remember.

And I’m aware of that ‘Creamy’ behaviour in 4.2 you mentioned. (It’s funny because that was actually my friend who started the first thread in KDE forum in 2016 to ask the dev to make that change.)

I wanted to know what changed from git e7fe83c because that was the first build that dev pushed that creamy behaviour into the nightly branch so that the artists could test. We(me and the friend of mine) also tested the build back then and I remember I felt really good about it. But, after the official release the behaviour felt different.

Hearing that the pressure detection (might have) changed makes me think that this issue might be related to that. But I wouldn’t know. (In fact I don’t think it’s bad, and even better to have slight pressure chunks based on stroke groups, because making strokes in painting process very often is literally like making chunks. But opinions on this may vary.)

1.Did you modify any part of the patch applied to the first ‘creamy’ beta before the 4.2 official release?
2.Do you have any idea what might caused the change on pressure? If so, is it absolutely irreversible?

The best would be being able to have the actual build to test, but since the nightly build is now gone I guess that’s not an option anymore.

I checked the first creamy testing version and the broken url from https://krita.org/en/item/new-test-builds-changes-to-flow-and-saving-loading/ suggests that this might be this build: https://download.kde.org/Attic/krita/4.2.0-preview2/
(The url is different, because all older builds are moved to “Attic”).
The released version is here: https://download.kde.org/Attic/krita/4.2.0/
I will check if I see any difference in brushes between those packages. Do you have a specific brush preset that will help me see it? Some that you know will show the difference?

Also @dkazakov and I were serious about it; you do help a lot, yes, by filling good quality bug reports. That’s a valid contribution to the project. There is a lot of forms of contribution that aren’t coding: there is bug reporting and triaging, there is user support, there is writing the manual. All of it very important. I know the communication is scarce - it’s usually like this with people who don’t come to IRC, which I invite you to try, btw (this link should work: https://kiwiirc.com/nextclient/irc.freenode.net/?nick=webuser|?#krita) - but it’s still seen.

I can actually share a story from more than a year ago - not sure if you know, but I got involved in Krita in user support on reddit, and for several months I made sure that all posts there are answered and dealt with. I got one message from @boud like a few days after I started answering everything I could find, and then a message from @raghukamath a month later if I want to become a moderator. And then there was no communication, although I’ve been lurking on IRC from time to time (first around the time I got involved, then around January-February, when I finally got some time), and then I went to IRC to ask very nicely if they could give me references as volunteer work, because I am starting to look for a job - and that’s how I got a job offer. Later I learned that they were talking behind my back in September or something already :stuck_out_tongue: While I was still thinking of them as this monolith secret organization, or like celebrities, you know? Someone you know from the TV :wink: And I kinda believe it might be the same thing in your case too - except for it would be really difficult for me to think of myself as a celebrity, but let’s be honest, Boudewijn definitely fits - so I’m just saying, we’ve been seeing your contributions and we appreciate them a lot. (I hope this “personal story” part is not too long :stuck_out_tongue: ).

Hence, I will try to work on that - I need to implement some features in selection tools that I was asked to do, but later I can check your issue out. If you can test and provide a reliable way to see the difference between those two packages, it’ll be just a matter of time for me to find the commit that changed it.

I don’t think we changed anything in this algorithm :slight_smile:

Can you share some video with screen-recording of the change? And preferably a brush preset?

I don’t remember us changing anything specific for pressure sensitivity since then :frowning:

I’ll try to make something out since I finally found the build from my other HDD(I used to keep all the nightlies for bug reporting), but I’m afraid it’s not the sort of thing that can be visibly demonstrated(like in a way that : “Look at this stroke and that stroke, they are so different.”) because it subtly happens in the organic painting process.
I know you would think that I’m just mumbling based on psychological bias, but this problem is the only reason I started to use photoshop long time ago after testing (literally) every other programs in the market and the open source world, despite I hated PS in general. :frowning:

But I’ll try.

You sure you changed nothing from the ‘nightly build’? You seem temporarily reverted William Brown’s patch back after the push and implemented it in 4.2 with some tweaks, I understand. Although you intended preserving the algorithm, isn’t there a possibility that something could’ve changed in that part? (No, I’m just genuinely wondering)

After all, I really appriciate all of you for developing Krita. I hope my threads(including the other ones I make) don’t sound like an attack to you, because I’m not intended to.