Is brush GPU acceleration going to be a thing?

Hello, I have been using krita for a while now and I like it a lot, but recently I have been using photoshop and oh my god it’s incredible on how big you can make the canvas and how big you can make the brushes without any lag.
I looked if any development has been done in gpu acceleration and only found a mid 2024 post about being considered.


Even Craig Mullins believes krita needs the speed of GPU acceleration, I tried photoshop because of this tweet

I would love to know if krita is going to have gpu acceleration for brushes any time soon in order to look if I should start investing more in ps, or if I should wait and see if it’s in the works, I don’t want to leave krita since it has been there for me from the very start, but oh damn, never really knew I wanted this res and speed.
btw, I have tried everything you can think to make brushes faster, it doesn’t come close to the speeds of ps.

What do you consider anytime soon? If it’s in the next two years? All signs point to no. Next 10 years? Maybe.

Currently this only gets discussed and it’s not even clear if it can be done in a way that is worth it.

Oh I see, thank you very much for answering.

:slight_smile: Hello @LuxoAnticuxo and welcome to the forum!

To answer your question, at least in part:
I can’t tell you exactly when GPU acceleration for the Brush Engines will come, but it won’t be before porting Krita to Qt6, otherwise you’d probably have to do the work twice (at least partially).

As for your claim that you have already tried everything to improve Krita’s responsiveness with large brushes on large canvases, I doubt it.
There is one thing that helps Krita tremendously to use large canvases with large brushes, and that is powerful PCs. And I’m not talking about the gaming PCs of many users with super GPUs that cost € 2k or more, which are currently a bad investment if you want to do professional graphics editing, not just with Krita. In the case of Krita, I’m talking about PCs with CPUs that have the highest possible single-thread performance, whereby the multi-thread performance and number of processor cores should also be high, especially for animation, and which should be equipped with as much RAM as possible. AMD Threadripper and Intel XEON processors (and then the few top-of-the-line Core i9 CPUs) would be the best choice here, and depending on the motherboard, you could also add entire batteries of professional graphics cards (three, four, five, six) if you also want to use 3D software such as Blender or similar, or if Krita should get GPU acceleration at some point (then, this will kick Krita into the big leagues :wink: ). The disadvantage is that it costs a lot of money!
But you can also fall back on used workstations from the professional sector, what is discarded by engineering offices or graphics studios is often still usable for a very long time for the hobby sector, I use such a workstation.
With a standard operating system, such as Windows 10 or 11 even in the professional version, often only 64 GB of RAM can be used/addressed properly, so if, like me, you want to use more and benefit from it, you have to fall back on the workstation versions or Windows Server, but then you can give Krita what it seems to love and what really drives Krita, RAM!
With Linux, it’s a question of which distribution you use. And speaking of Linux, Krita runs significantly better on the same hardware!
Even my now 15-year-old workstation can handle canvases of 10k at 10k and brushes of 3k pixels quite well using Windows, what current workstations can do here I hope to experience on my next one.

Another point in your message makes me smile bitterly. No matter what Craig Mullins or, for all I care, Elon Musk, Bill Gates or Donald Duck say, it’s in the wrong direction! What Krita really lacks to improve the performance on consumer PCs from the supermarket or on gaming PCs from specially assembled (usually better) consumer hardware, which is lamented by more than a few, is money. Money to enable Krita to employ a sufficient number of developers.
Because only then can you compare Krita to programs made by companies that are usually multi-billion dollar companies, like the OPs example, that can spend more on optimizing the performance of a new version than Krita has for developing a new version, and only if users are willing to support Krita’s development with more donations, and Krita can fully fund maybe 15 or 20 developers instead of 5 (which is still significantly less than its commercial competitors), will Krita be able to achieve the performance that so many people want faster.
But for this to happen, users would also have to dig deep into their pockets to equip Krita with this, instead of always just looking at “free, free” and not recognizing the connection between money and performance. And so Krita naturally needs more time to get faster, so what?

Michelist

4 Likes

@LuxoAnticuxo

out of curiosity, what do you consider a large canvas?

I just tried the following:

10 years old notebook running on battery.
Intel core i7 with 4 cores.
Nvidia Geforce GTX 960M
16 GB ram
SSD
Windows 10

According to todays standards, this is a slow machine - even more so if running on battery.

Testing a canvas of 4096 x 4096 px, 300 ppi, 16bit integer color depth, brush sizes around 300 pix.
Making strokes with the touchpad of the notebook on a single layer.

Doing this I get no lag or delay (I used various pixel engine brushes).
Exception is the Mypaint Marker brush - that one lags severly.

To me, the brush speed is good in Krita.

It is different if filters, layer styles, transform, liquify and the like comes into play. Those can be slow.

E.g. activating the layer style “texture” slows the painting to a laggy crawl.
But activating “instant preview mode” makes it usable - and additionally using the wall power supply instead of the battery makes the strokes ok, even with the layer style being active.
Edit:
The layer style must be active on the same layer that I am painting on. If it is on a layer above the painting layer, then there is not a severe slowdown.

Are you sure Photoshop even uses GPU for the brush engine? It doesn’t seem to be the case based on their documentation. The difference in performance can come from multiple other factors. You could test it by disabling GPU in PS and painting strokes without moving, scaling, or rotating your canvas, as these will definitely be slow.

Krita has canvas GPU acceleration, same as PS.

2 Likes

There is also a good reason for why painting programs traditionally don’t use hardware acceleration for painting very much, one of which is the lack of available graphics memory compared to normal memory. Graphics memory is expensive and limited on most consumer grade computers.

Depending on the graphics card 16 GB of graphics memory can cost you more than 500 € while 16 GB of system memory only costs you about 40 € (is easier to upgrade too).

My bigger painting projects regularly crack the multiple gigabytes mark in memory consumption and you even need more when you want to work on multiple documents. Cgidesign couldn’t load most of my files on their laptop which only has 2 GB of graphics memory if Krita would use hardware acceleration for painting.

You might now think: “Just don’t load the whole image into graphics memory then” and while that kinda makes sense, the thing is that you still have to work with the slower system memory then and have to keep them in sync. The additional overhead of constantly transferring data between fast GRAM and RAM offsets a lot of benefits of operating on GPU exclusively.

Due to that limitation, all the painting software I’ve seen so far that do use the graphics card exclusively have pretty tight limitations on document size or amount of layers to keep the memory footprint as low as possible.

1 Like

I read this thread back when Craig Mullins posted it. He was praising Krita and encouraging others to try it for the brush performance specifically (that’s what the Formula 1 vs Camry analogy was about). What he was lamenting was its lacking stability and performance with large (10k+ pixel dimensions with 20+ layers) canvases, and in general, compared to Photoshop.

I agree with Craig’s assessment, and feel it’s being misunderstood/misrepresented here.

I don’t think something was misunderstood here, because there were no details given to misunderstand. Hence my question, what is considered a big canvas.

And I had a look into the stats of the OP.
He joined 3 days ago and made this one post.
His total reading time in the forum was 25 minutes, viewing 13 topics.

and his conclusion is:

I would have expected, that he would ask for tips about speed, because with only 25 minutes reading the forum, he might have missed some valuable hints. Instead we get the information how much better PS is.

1 Like

I’m merely pointing out the Craig Mullins Twitter thread an excerpt was shared from is complaining about Krita’s performance in other categories (save/load times, layer stack performance, stability) and actually praising the brush performance. It is contrary to what OP is stating.

The dimensions I listed above are what Craig Mullins was considering a “big canvas” when making his observations.

I am with you about this. I also think there are parts of Krita that could be faster. But that is one part of this thread.

The other one is how the first post feels to me.
Frankly, this first post feels to me like a prime example of stealth marketing.

Edit:


Why I got that impression:

The post works like it came from a stealth marketing manual.

How forum stealth marketing works in the context of this thread.

General goals:

Find a pain point of the product the forum is about.

Post the message about how much better your product is.

Details:

Create an account and read a few posts to get a feel for the mood of the forum (how the users communicate, etc.).

Identify a pain point - in this case, brush speed.

(This is where the first bell rang in my head, because most Krita users who use the software regularly know that the brush engines are considered fast, even compared to PS and Affinity)

Write a post:
First build trust - something like “I’m one of you; I like the product, etc.”.

Then emphasize the pain point.

Then find a reputable source to support your marketing. This is important because as an unknown user, your voice does not have much impact. It works like this: “Hey, it’s not me saying this, it’s the famous xyz”. Done by quoting a respected digital painter.

Then, as the final nail in the coffin, write your main marketing message - something like “nothing beats your product”.

4 Likes

Yeah… Brush engine really is just fine. It’s everything else that will cause problems first: memory consumption for the canvas, especially with multiple layers that need to be blended together (projection), and even worse, if some filters are included.

Here’s a 16k-by-16k canvas and 200px brush (pixel engine). Seems smooth to me :laughing: (also this is 60 Hz, looks much better at 144 Hz).

I think you absolutely need to take special precautions to work on a very large document, i.e. be mindful of the number of layers and special effects. But I’m sure Krita will continue to improve its performance across the board.

5 Likes

My experience is also that Krita’s brush engine is fine. I could never ever use brushes with tilt in PS. It has unacceptable lag no matter the brush or canvas size. Krita not only supports that but the brushes feel is so nice. You can do so many things with them!

Where the PS has the upper hand is performance in larger canvases with many layers or masks, not that it’s good, but it can go farther than Krita with the same specs. My computer specs aren’t great though, and I’ve been feeling increasingly confident I’ll no longer experience the issues I do once I upgrade CPU and RAM so it’s not much of a deal breaker, it’s more a signal it’s of a system in need of update.

If you need many layers you can do things to improve performance like using file layers that will sync automatically when you edit and save the source file. I’ve been using them in very large paintings in which I need to keep layers intact and they work beautifully.

1 Like

Interesting - does this help with filters like blur as well?
I tested e.g. 15 layers 10000 x 10000 and painting was still ok. But just one blur filter mask inbetween let Krita beginn to stutter.

This thread reminds me of the “How many pixels do I need?” “Which camera is best?” photography threads.

Krita, like numerous other digital painting software apps is capable of producing high quality paintings.

just saying.

Depends on where that filter is. If it’s inside a file you’re importing as a layer you should get no performance hit.

I could be wrong since I got no insider knowledge here, just empirical, but for all intents and purposes file layers are like single raster layers, as if the file image was flattened - it just gets automatically updated when the source file is. Any filters inside are flattened. And if you apply a filter to the file layer itself it’s like applying one to a paint layer, not a collection of layers and filters and whatever else you got inside the original file.

File layers are really helpful for RAM-starved systems. I recently painted a cover art into 16 files + a main file combining them and applying shared effects. They’re 1.1GB on disk. Each when open takes 2 to 3 GB of RAM. Combined that’s more memory than my computer has, but the file layers made it possible to work on the main file in a non-destructive manner without having the computer halting all the time. Krita is a life saver!

3 Likes

This forum suffers from this deeply.

And these post and run accounts are always to trash talk. My plugin threads are a collection of these kinds of posts. If I post anything concerning an update they appear out of no where yet again. My posts don’t last a day until I have people complaining again and they are always fake reports.

I know this as Guerrilla marketing and I regularly notice this happening on these forums too, often for completely unrelated “art stuff” like galleries selling fine art in replies to old support questions disguised as a solution or workaround. Usually with a formated link to obfuscate the website it links too.

However with posts like this I think it’s often more of a rant in disguise for why Krita isn’t simply a free photoshop clone.

But let’s not pretend that Krita doesn’t have it’s issues, personally I rarely find them in the brushes though. More with effects, filters or liquify transformation.

Well on the topic of the thread I do feel the issue with the brushes but it has to be pretty big.

I need to make a brush bigger than 500-700px and documents bigger than 10k also hinder performance.

But it is perfectly workable I think.
And waiting a moment for a massive stroke to complete is not that big of a deal.
Krita has good signals to see how long your gonna wait and all that so it is nice to have on the wait.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.