[Processor] Intel vs AMD, Raw Power x More cores?

Hello, I’d like to ask if anyone knows if there are differences in performance between intel and amd processors?

For the second part of Power x #Cores I assume power is more valuable but how much does higher core count comes into play here compared to higher frequency please?

I’d like to get a new processor and some other HW and I’m looking for something that would be decent for Krita for solid performance in my cases so I’d like to ask for some pointers to decide (as AMD can offer more cores for better prices) in these topics above.

Thank you very much if you could give me some insight ;-).

Well frequency is only half the story, AMDs Zen 2 architecture actually has better IPC than Intel’s “Comet Lake” CPUs (which really are Skylake rehashed for the umpteenth time), so those intel CPUs actually need higher clockspeed for the same performance.

Basically, intel had to squeeze out every last drop of their aging 14nm design to have at least some benchmark wins against Ryzen 3xxx, at the cost of vastly increased power draw, so you’ll need good power supply and cooling for the CPU to maintain those turbo frequencies. Price and performance are not really far apart up to the 10/12 core variants currently.

On the mobile side, the 10nm Ice Lake CPUs have newer architecture and manufacturing process, plus AVX-512 (but krita does not use that yet), but intel has too much trouble with 10nm to produce anything with more than 4 cores, and even then is barely able to meet the demand for mobiles, so no desktop version available at all.

Meanwhile, AMD just released the Ryzen 4xxx APUs with 8 cores that make intel look rather bad in notebooks too…

1 Like

Hi, @nickgeneratorfailed!

RAM

The main thing you should think about is the amount of RAM. Modern images are rather huge so you need plenty of it. 16GiB will let you work comfort. If you want to work with big animations, then you can add more RAM, but that is not a requirement. And don’t forget about dual-channel memory layout. It is a must.

CPU cores

If you want “just paint”, 4 physical + 4 virtual cores is perfectly enough. If you want to work with long animations, look for more cores.

Intel vs AMD

AMD have more physical cores, at the same time these cores are much slower than Intel ones. Intel’s implementation of AVX/AVX2 streaming instructions is much more efficient and Krita uses them a lot.

Here are the results of Krita brushes benchmark on two CPUs I’ve just done on Krita 4.3 Beta2:

(smaller number the better)

Intel Core i7-1065G7 (Ice Lake) (Ultrabook laptop!!!)

FreehandStrokeBenchmark::testDefaultTip() Cores: 8 Time: 744 (ms)
FreehandStrokeBenchmark::testSoftTip() Cores: 8 Time: 976 (ms)
FreehandStrokeBenchmark::testGaussianTip() Cores: 8 Time: 1204 (ms)
FreehandStrokeBenchmark::testRectangularTip() Cores: 8 Time: 825 (ms)
FreehandStrokeBenchmark::testRectGaussianTip() Cores: 8 Time: 2518 (ms)
FreehandStrokeBenchmark::testRectSoftTip() Cores: 8 Time: 2120 (ms)
FreehandStrokeBenchmark::testStampTip() Cores: 8 Time: 2351 (ms)
FreehandStrokeBenchmark::testColorsmudgeDefaultTip() Cores: 8 Time: 4996 (ms)

AMD Ryzen 7 2700X (Desktop, though a bit older)

FreehandStrokeBenchmark::testDefaultTip() Cores: 16 Time: 923 (ms)
FreehandStrokeBenchmark::testSoftTip() Cores: 16 Time: 924 (ms)
FreehandStrokeBenchmark::testGaussianTip() Cores: 16 Time: 1059 (ms)
FreehandStrokeBenchmark::testRectangularTip() Cores: 16 Time: 951 (ms)
FreehandStrokeBenchmark::testRectGaussianTip() Cores: 16 Time: 1581 (ms)
FreehandStrokeBenchmark::testRectSoftTip() Cores: 16 Time: 1302 (ms)
FreehandStrokeBenchmark::testStampTip() Cores: 16 Time: 1199 (ms)
FreehandStrokeBenchmark::testColorsmudgeDefaultTip() Cores: 16 Time: 8025 (ms)

You can see, the most computation intensive brushes (default and colorsmudge) are faster on Intel, even though it is a ultrabook laptop. The stamp brush is twice slower, but I guess it is related to the fact that it is a laptop: I’m not sure it has dual-channel RAM. And desktop runs in dual-channel mode.

Conclusion

If you don’t plan to work on animations, look for a 4+4 Intel i7 CPU. If you also need to work on long animations professionally, look for maximum amount of cores you can take on your budget. Intel is still preferable, but the number of cores is more important.

3 Likes

I’ve been lately also looking at AMDs from what I’ve read so far.

I’m also wondering if Krita understands better one or the other or if it doesn’t matter. I remember that in 3d Blender and other programs Intels were a go to processors so that made me think if there’s something similar here.

@dkazakov, thanks for the numbers, but it should be mentioned that AVX2 throughput was significantly improved from Zen(+) to Zen 2, if you compare the 2700X with the 3700X in the heavily AVX optimized SVT-AV1 encoder for example:
https://www.phoronix.com/scan.php?page=article&item=ryzen-3700x-3900x-linux&num=4

But yes, Ice Lake still seems to be stronger with AVX2 and as bonus has AVX-512, too bad intel apparently cancelled all plans to bring this “Sunny Cove” architecture more CPU models this year, let alone an enhanced version of it…not even in “good old” 14nm+++ :frowning:

1 Like

Thanks for this, I see.

This got a bit complicated :smiley:

Finally someone test a very thing besides games and 3d rendering. Does the difference in numbers feels in a real workflow?

Oh I just found the benchmark that dmitry ran, so just to compare with an old Core i5-4670 (Haswell, 4C/4T)

FreehandStrokeBenchmark::testDefaultTip() Cores: 4 Time: 910 (ms)
FreehandStrokeBenchmark::testSoftTip() Cores: 4 Time: 1248 (ms)
FreehandStrokeBenchmark::testGaussianTip() Cores: 4 Time: 1699 (ms)
FreehandStrokeBenchmark::testRectangularTip() Cores: 4 Time: 937 (ms)
FreehandStrokeBenchmark::testRectGaussianTip() Cores: 4 Time: 2863 (ms)
FreehandStrokeBenchmark::testRectSoftTip() Cores: 4 Time: 2125 (ms)
FreehandStrokeBenchmark::testStampTip() Cores: 4 Time: 1517 (ms)
FreehandStrokeBenchmark::testColorsmudgeDefaultTip() Cores: 4 Time: 5751 (ms)

I honestly expected much worse (especially since Haswell requires like ALL of the performance killing mitigations from the myriad of vulnerabilities uncovered lately), but a number of these tests don’t scale well with core count, for comparison:

FreehandStrokeBenchmark::testDefaultTip() Cores: 1 Time: 2832 (ms)
FreehandStrokeBenchmark::testSoftTip() Cores: 1 Time: 4200 (ms)
FreehandStrokeBenchmark::testGaussianTip() Cores: 1 Time: 5726 (ms)
FreehandStrokeBenchmark::testRectangularTip() Cores: 1 Time: 3070 (ms)
FreehandStrokeBenchmark::testRectGaussianTip() Cores: 1 Time: 10076 (ms)
FreehandStrokeBenchmark::testRectSoftTip() Cores: 1 Time: 7277 (ms)
FreehandStrokeBenchmark::testStampTip() Cores: 1 Time: 4609 (ms)
FreehandStrokeBenchmark::testColorsmudgeDefaultTip() Cores: 1 Time: 6128 (ms)

I’d be really curious about some Zen 2 benchmarks, this benchmark is included in the sources and gets compiled when BUILD_TESTING is enabled, as libs/ui/tests/FreehandStrokeBenchmark

Hi, @I9S!

  1. You will certainly notice if you have not enough RAM. And it will be extremely irritating. That is why I recommend to invest into at least 16GB RAM first.
  2. If you work with animation full-time, you will clearly notice increase in the number of CPU cores (of any brand).
  3. If you use a lot of Filters, Filter Masks or Filter Layers, bigger number of CPU cores (of any brand) will also make the difference, but it will be a bit less noticeable, than with animations.
  4. If you do a lot of painting with complex brushes (e.g. the brushes from Ramon’s set), then you will notice that ColorSmudge brush is almost twice slower on AMD than on Intel.
  5. Regular Pixel brushes will work at somewhat comparable speed.
  6. If you do really a lot of painting and extremely picky about speed, you may also notice that Pixel Brush with the default tip (the most popular configuration) is 20% faster on Intel. Though you should be really picky to notice that.
1 Like

Hi, @Lynx3d!

The only test that doesn’t scale well is testColorsmudgeDefaultTip(). It happens because ColorSmudge brush is not multithreaded at all :slight_smile: It is rather hard to make it multithreaded, so we never tried that. Though, I guess, it is technically possible.

Your test kind of confirms that my laptop’s Core i7-1065G7 works in single-channel memory mode, which makes testStampTip twice slower on it. On a normal desktop setup testStampTip should be at least as fast on Intel as on AMD.

Actually I have an old i5-4460 and it’s starting to lose some power if I go with A4 size canvas even for less intensive brushes for inking. With memory I’m fine, I can’t imagine going with anything below 16GB anyway and something speedy if possible.

This thread makes me thinking sticking with Intel but I kinda like how AMD keeps the same socket for longer unlike Intel where you kinda upgrade processors together with motherboard more often :smiley:

Thanks guys for showing and explaining this stuff in Krita context.

Just my 2 cents on a practical point here.

Krita is free, and though I enjoy it very much, and plan to continue using it as my primary art application, I don’t know that I would use it in place of Photoshop if I was going to start throwing serious money around.

I run Krita on an AMD A8-7600 APU. I bought a computer with this chip because, at the time, the i3 analogs only had 2 physical cores each and no hyperthreading. Also, the integrated graphics are substantially faster than Intel’s offerings, and gave me 720p gaming and much faster D3D, Vulkan and OpenGL performance. I upgraded at some point to dual-channel ram, and saw visible improvement in both CPU and GPU performance.

Our computers are roughly analogous for speed, and I work at A3 and SuperB, if not bigger, at 150 dpi. You may want to reconsider your workflow.

1 Like

Hi, @jonathanbecker!

Actually, your CPU is about twice slower than the one of @nickgeneratorfailed. AMD A8-7600 has rather bad implementation of AVX instructions. In comparison to both, Intel and Ryzen CPUs. I own a A10 Kaveri system here, and Krita’s benchmarks run on it even slower than on an ancient i7-2600.

The first decently good implementation of AVX on AMD CPUs appeared in Ryzen series.

Well, when I wanted to upgrade from A10 Kavery I couldn’t do it anyway, because there was no decent CPU for this socket and it didn’t support DDR4.

So, I have a suspicion that it is mostly a marketing point. By the time when you decide to upgrade your CPU, there will be DDR5 and PCI-E v42, so you’ll have to upgrade motherboard anyway. And I’m not sure you want to upgrade your CPU every year.

Though I might be wrong of course :slight_smile:

If I’m not mistaken, A8-7600 (Kaveri) doesn’t even have AVX2 yet, but even Carrizo and later CPUs all the way to Zen+ only had a 128bit FPU pipeline, meaning they were calculating 256-bit AVX2 in two cycles, Zen 2 is the first AMD CPU architexture that can do them in one cycle like intel CPUs, hence why I’d really like to see a run of the brush benchmark on it :slight_smile:

  • edit - oh and the pre-Zen architectures with their modules actually shared the FPU units between two “cores”.

And dmitry, you’re right, outside the color smudge test, they all have at least a 3x speedup for me (shouldn’t do mental arithmetics I guess), although some really only just.

I’m completely lost, such hardware details are too much for me :upside_down_face:

On my side, I have 2 computers:

  • An old desktop (~7 or 8 years old)
    – AMD FX™-8350 Eight-Core Processor @ 4Ghz - 8 cores / 8 threads
    – 32GB: RAM DIMM DDR3 Synchrone Unbuffered (Unregistered) 1333 MHz (0,8 ns)
  • A more recent laptop (HP Elite Book 840 G3):
    – Intel® Core™ i7-6600U CPU @ 2.60GHz - 2 cores / 4 threads
    – 16GB RAM: SODIMM DDR4 Synchronous Unbuffered (Unregistered) 2133 MHz (0.5 ns)

I guess my notebook is more powerful, I didn’t made any benchmark, but for the usage I have (usually work with documents A4@600dpi), I don’t really see the difference when I use the desktop or the laptop (on both, Krita is fluid and works perfectly)

Grum999

Well that mobile dual-core is not really more powerful than your 8 cores desktop, but single-thread performace sure is a weakness of the AMD FX, so user interface etc. may actually be more responsive on that laptop.

And I just realize that FPU pipelines only matter if you work with float color spaces, while the above benches test 8bit int/channel only from what I can tell…now I’m even more curious how Ryzen 3xxx compares to Ryzen 2xxx :stuck_out_tongue:
<another edit> hm composite ops for 8bit integer still seems to do a bunch of float math though, I really should dive into that topic some more eventually…

But maybe that’s good to mention anyway, AFAIK (@dkazakov correct me if I’m wrong), so far Krita is only hand optimized for good old 8-bit integer channels and for 32-bit float (HDR image editing).

16-bit integer could be more optimized, while 16-bit float is not supported by CPUs natively, so it gets converted to 32-bit float first, only the conversion itself could be optimized some more.

1 Like

Oh thanks.

I finally looked benchmark comparison between both CPU, in a single thread the laptop is actually better

But in fact, from a human point of view, I don’t really see difference on usage :slight_smile:
(both computer are running under the same Debian 10)

I provided my configuration(s) just to inform that with a 8years old processor, Krita is perfectly working :slight_smile:

I imagine that it will also depend about your budget…
Usually, I think that AMD cpu are less expensive than Intel (but I didn’t really follow costs for a while)

Anyway, I guess that with a recent and top of the line CPU, AMD or Intel, you won’t have any problem and you can be quiet for years.

Think also about memory (fast and huge amount of memory is better), graphic card, and if you’re thinking about a desktop rather than a laptop, choice of motherboard too may have an impact.
A powerful CPU without accorded HW may be useless :wink:

Grum999

Hey, at the request of @I9S who commented on my blog-post about my new computer; here is my output of the benchmark with AMD Ryzen 7 3700X:


The output of the benchmark is a bit too fuzy for me to be able to understand it and it looks the tool crashed too. I hope it will help!

I have a wish: a benchmark tool built-in into Krita; something that split 4 or 5 revelant time that can be compared between artist to select hardware.

2 Likes

here is my output of the benchmark with AMD Ryzen 7 3700X:

The results from 3700X look really good. To compare real Krita performance one should compare lines with maximum amount of cores. In your case, you need to look at these lines:

FreehandStrokeBenchmark::testDefaultTip() Cores: 16 Time: 527 (ms)
FreehandStrokeBenchmark::testSoftTip() Cores: 16 Time: 503 (ms)
FreehandStrokeBenchmark::testGaussianTip() Cores: 16 Time: 583 (ms)
FreehandStrokeBenchmark::testRectangularTip() Cores: 16 Time: 538 (ms)
FreehandStrokeBenchmark::testRectGaussianTip() Cores: 16 Time: 909 (ms)
FreehandStrokeBenchmark::testRectSoftTip() Cores: 16 Time: 697 (ms)
2 Likes