Hardware priority for Krita

What is the hardware priority for Krita? Out of faster CPU, more cores/threads, better graphics card, more RAM, faster RAM or faster storage disk, which benefits Krita the most?

What should be the top priorities when aiming to build a computer for working in Krita overall (including large image sizes and other hardware intensive workflows)?

What are your thoughts and experiences? Do you have actual benchmark or other statistics?

2 Likes

There’s two types of things a computer does: calculations and moving around data. Within Krita, the latter is most common. Thus the most important thing is lots of fast ram.

The pixelbrush is multithreaded, as are many filters and parts of animation, and wherever else we can stick in threads and get performance gain. So a lot of cores is useful as well.

Graphics card isn’t that important for Krita, more useful for Blender and Godot(and even there, anything reasonably recent can give plenty of speed).

5 Likes

Thank you for the insight! :slight_smile:

Benchmarks would be interesting. Actually, the sources contain some benchmarks, but I guess they don’t really qualify as some kind of application benchmark, they test some isolated parts from what I can tell.

Anyway, wolthera’s advice sums it up pretty well. Only thing I want to add is that especially animations need loads of RAM. Other than that, I’d say you really don’t need a beast of PC to work smoothly in krita, sure more is always better, but maybe it’s smarter to to spend extra budget on what other applications/games your are going to run benefit most from.

Btw, Krita does not use AVX-512 yet, but it might soon if I understood dmitry correctly. Not sure how much of a real-world difference that will make though, it does force those intel CPUs to lower clock speeds quite a bit, so for proper speedup the code has to use AVX-512 heavily, otherwise it can even slow down applications.

You can use Krita’s brush rendering speed logging to make a real-life brush speed benchmarks :slight_smile:

1 Like

I always wondered if Krita could boost performance by using the graphics card more. Manipulation of matrices, what raster images basically are, is what they were build for and do all the time when calculating shaders.

There was also some discussion about that on IRC, I hope I didn’t get it wrong…
The GPU could do all the stuff many times faster than the CPU, that’s true, but there’s one issue: Systems with descrete GPUs have separated memory, and there needs to be a lot of copying between system and video memory that turned out to ruin pretty much all possible benefits.

Even if your video card has enough memory to keep all data, you would have to implement ALL operations on GPU to avoid the copies, quite a challenge.

Integrated GPUs are at an advantage, they can share buffers for CPU and GPU because they use the same memory. But redesigning krita in a way that only benefits integrated GPUs?

2 Likes