Krita 4.3.0 is unbearably slow on Linux

Hi all,

I found a thread by banca in this forum (sorry, can’t link to it due to being a new user) that describes a similar phenomenon, but did not want to hijack it. Also, my system is a bit different than the one mentioned (I’m using Linux and have a Xeon processor with 16 cores and 64GB of RAM installed), so I thought it’d make sense to create a new topic…

The problem is that I experience Krita to be almost unbearably slow with some operations that I need almost on a daily basis. It’s about five years now that I described a similar phenomenon over in the KDE forum and I would love to say the situation has changed. Alas, it hasn’t. To better demonstrate, what I’m talking about, I recorded a quick screencast:

As you can see…

  • converting a typical image from RGB to CMYK takes about 13 seconds
  • opening the channels dockers takes about 2 seconds
  • hiding or unhiding one of the channels takes about 5-8 seconds
  • when adding a filter layer, the dialog box takes over 2 seconds to even appear
  • when clicking one of the filters - say, Slope, Offset, Power - I can watch the screen preview to appear tile by tile, which takes about 16 seconds

I really don’t want to sound overly demanding, but to me this borders on the software being almost unusable. Note that my machine is running Linux (Mint) has 64GB of RAM, 32 of which I have dedicated to Krita. Also, I’m using an NVIDIA GTX 1080 with the latest drivers.

Is anybody else experiencing this? Is this normal behavior? Any ideas, what I could try?

Any help would be much appeciated.

Not sure how large your image is. I tried with this image by Soma.

Changing to CMYK is instantaneous takes about a second, hiding a channel takes maybe 1/3 of a second. Slope offset power, about two seconds. Probably slightly less.

Pop OS
AMD Ryzen 1700
8 gig ram (one module was broken so I had to remove it)
RTX2070 8 gig

Perhaps your image has insane resolution, otherwise something seems to be strange with your computer.

Update, results after scaling the image to 200% as Ahab did:

CMYK 5 seconds
Hide channel 3.5 seconds
Slope offset colour 6 seconds

I have a slow old machine and I get better results that you do with a comparable sized image.
(I used the image by Soma, scaled up to 200%.)
That Slope Offset Power filter is particularly slow for me though.

Are you using the appimage or a distro repository installation?

@Bleke Soma’s image is only 3000x1500, while @marcuschristopher 's is around 6000x3400, which means it’s 4x bigger.

I checked with Soma’s image, conversion to CMYK is nearly instant, yes. When I made it bigger - 2x by every dimension, meaning 4x bigger in total, which is 6000x3000 - conversion took me 7s.

So, to make a list:

  • conversion - 7s
  • opening channels docker - instant
  • hiding/unhiding channels - yeah, 5-8 seconds sounds just like what I have here
  • filter layer dialog box is instant again…
  • the slope filter was around 11 seconds, but your image is a bit bigger and I just measured once.

My advice:

  • make sure you have OpenGL turned on. If it’s faster with OpenGL turned off like you said on the older thread, it means that your drivers are of very questionable quality. Ahh, make sure you do have appropriate drivers for your graphics card.
  • Wolthera told you to report the channels docker issue - please do that, maybe someone will take time in the near future to see what’s up there.

In general Krita for performance relies on CPU (computations; the better you have, the faster it is) and RAM (it’s mostly “does your whole image and undo steps etc. fit in the memory; if yes, it’s fast, if not, it’s lagging”). GPU is only used for viewing, rotating the canvas etc. For that it just needs good drivers (good - as in not lagging in one particular thing Krita uses them to), doesn’t need a powerful graphics card.

Can you tell us if your CPU is on par with other settings? And if rotating, mirroring, panning canvas is instant or not?

In general I’d ask @raghukamath since afaik he has experience working with big images like yours.

Thank you all for the prompt reply. Indeed, I wonder myself, if something’s wrong on my end, but I do not experience any of those difficulties with any other programs (Blender, Gimp, Darktable, even PS under Wine). So, I suspect, it has to have something to do with how Krita handles stuff behind the scenes.

By the way, I have both the version from the repo and the appimage version installed and they behave exactly the same.

As to the suggestions:

  • I have OpenGL turned on. Didn’t try to turn it off this time.
  • Recent official NVIDIA driver for my graphics card (GTX 1080).
  • 2 Intel Xeon CPUs (2.60GHz) with 8 cores each, resulting in 16 cores total (32 threads).

Ok, so your CPU looks really powerful, especially comparing to mine: Intel® Core™ i7-1065G7 CPU, 8 threads for 1.30GHz. (And note that even for converting, it was faster in my case).

The only thing I can think of now is that your CPU might be powerful, but old - since you haven’t said exactly which Xeon it is - so it might lack some optimizations Krita has… I don’t think I remember those names - SSE2? I think there is more information here: - I believe Krita uses SSE2, SSE3, I’m not sure about AVX-512 but I know I’ve heard this name before. I guess Dmitry would know details. In any case, the less of those you have, the slower Krita will be. They depend on the CPU model you have.

I managed to get both the image and the color profile from your test video.
For anyone else who wish to test with same image and profile, you can get the same image here and the color profile from here

My system configuration is :

  • Operating System: Arch Linux
  • KDE Plasma Version: 5.19.4
  • KDE Frameworks Version: 5.72.0
  • Qt Version: 5.15.0
  • Kernel Version: 5.7.10-zen1-1-zen
  • OS Type: 64-bit
  • Processors: 8 × Intel® Core™ i7-4790K CPU @ 4.00GHz
  • Memory: 31.3 GiB of RAM
  • Graphics Processor: GeForce GTX 750 Ti/PCIe/SSE2

As you can see my system is old and has half of the ram that you have and I only assign 50% of ram like you so it means my result is from 16gb ram assigned to Krita.

Here are my test results with same steps that you perform: (all the time are approximated)

  • Changing color profile to CMYK - 7 seconds
  • Toggle channels - 5 seconds
  • The slope offset, power and burn dialog - 5 seconds (s,o,p) burn preview - 4 seconds
  • Different color profile resulted in different operation time.

I again tested this with another color profile - US web coated swop and got similar results
And then I did the steps with RGB, this was much much faster literally in 2-4 s for everything

From this test I believe that :

  • Something is hindering Krita in your system as despite having approx half of your system config, my processes are completed nearly twice as fast as you.
  • Working in CMYK is slow, it is one of the reason I don’t recommend working in CMYK from the start. I had written why here. This may be due to the fact that Krita needs to convert CMYK to RGB while doing operations and showing you the preview and image while working on screen (I am not a dev so don’t know the technicalities here my assumptions may be wrong)

I would suggest:

  • Try the steps with RGB profiles and compare it.
  • Work in RGB and at the last moment convert it to CMYK.
  • If possible try these steps with same image and profile in someone else’s computer with different specs

Again I don’t mean to be defensive in this regard and put the blame of the slow process on your system config. CMYK conversion and other operations might need some love and optimization. We can request the developers here about this and provide sample files to solve this issue if it is possible. The suggestions I gave can be counted as workarounds until then.

To give you my personal experience while working with big files (literally 12ft x 9 ft 22,200px x 16,200px), yes the operation was slow but I have not experienced that much of slowness to the point where I bashed my mouse or keyboard. I was able to get my work done. I worked in RGB profile while checking colors with soft-proofing. I converted the image as a last step when sending to printer.

P.S. I have recorded the video of this test if anybody needs to see it they can download it:

On another note:
I read somewhere that xeon cpu are good for server type work and don’t really provide better results with image editing etc. This can be wrong and the difference might not even be noticeable. So take this point with a grain of salt.

1 Like