What CPUs crush blender rendering?
This chart shows render performance in Blender of about 100 different CPU models from Intel and AMD. It was compiled using data form Blender's own open data project which has recently been updated.
First, why this data?
It would be remiss of us to not champion the virtues of using data to make decisions. We're of course talking about the decision of what CPU should you be looking to buy in 2020 for your rendering pleasure. Whether you are building a render farm, or a powerful a workstation, you should be using the most relevant data to guide you or you'll sacrifice performance.
The data we're using here is not only freely available, but if you're doing any rendering in Blender's cycles engine, its as relevant as it gets, unless you build your own testing lab and spend a fortune on gear. That would be nice, but no.
The chart we created (see above) is of the Barbershop interior benchmark (see screenshot, also above), on windows operating systems using Blender 2.81. It contains render times for 102 CPU models from intel and AMD.
We chose these settings because most users are on windows, Blender 2.81 is the current stable release (for now, 2.82 and 2.83 are available for downloading right now) and finally, the barber shop interior is long enough to get systems to max temperature on pretty much any system (looking at the total render time that is). Its as consistent as we could possibly hope to get outside of a dedicated test lab.
A final word on data quality though, since the data is submitted by users from all over the world, we have no idea what their system config actually is, some of the CPUs only have one benchmark sample submitted. These runs could have been using water cooling vs stock coolers, hell even LN2 maybe. We don't know.
We can only say that we have analysed the data and found that the spread between runs on the same CPU is not ridiculously big so we're fairly confident that the data represents reality for most people.
Enough! What CPU should we choose?
First, you may wish to wait. If you missed our last article about what hot new tech is coming this year, then you can check that out here. The TLDR on that is that AMD is continuing its surge into the market, making them more than a contender for consideration.
Considering nothing but speed, AMD has it in spades. You can see in the chart above, its got the first and second fastest render times with its thread ripper 3970X and 3960X. You would of course be shopping the top of the market, and if Intel is your chip of choice, then the i9-7980XE and i9-10980XE ain't cheap either.
Thanks to a great suggestion by Robert (see comments below) I changed the formula for performance score to something that makes more sense. Performance is defined as;
P = 100000000 / ( s • $) P is a measure of bang for buck, a higher number indicates a better score, which happens as either as the number of seconds to render decreases, or as cost decrease.
AMD threadripper - 3970X - AUD 1,949.99 | P 234.98 | Sync time 29.01s
AMD threadripper - 3960X - AUD 1,399.00 | P 256.70 | Sync time 28.49s
Intel i9-7980XE - AUD 1799.00 | P 174.65 | Sync time 27.10s
Intel i9-10980XE - AUD 1799.00 | P 166.04 | Sync time 25.45s
The 3970X has the highest score, so it represents the best value for this particular benchmark. If you do a lot of work similar to the barbershop interior (or that has similar render times) then these numbers might interest you.
Using the different formula for a performance score, AMD is now clearly winning, which it wasn't before, so thanks to Robert for the suggestion :).
But what about power draw??
Ok, so this is where I have learned a lot lately and this article has been updated thanks to the following people:
Matej Polák, Alan Leigh-Lancaster and Zocker1600
So, Originally I wrote about using TDP or Thermal Design Power as a measure of power consumption. This power consumption was then used to compare the relative efficiency of CPUs. I kept this analysis as the technique is valid, but its the use of TDP that is dubious! Read on past this part of the article to find out why TDP is not a good benchmark figure to use for this particular task of comparing CPU power consumption!
AMD threadripper - 3970X - AUD 1,949.99 | P 234.98 | TDP 280W
AMD threadripper - 3960X - AUD 1,399.00 | P 256.70 | TDP 280W
Intel i9-7980XE - AUD 1799.00 | P 174.65 | TDP 165W
Intel i9-10980XE - AUD 1799.00 | P 166.04 | TDP 165W
Ok, so Intel chips seem to draw a lot less power. But its difficult to see immediately which chip is better. So let's fix that too. We'll calculate the total energy it took to render the barbershop benchmark for each CPU.
3970X - 218.35 * 280 = 61138 Joules
3960X - 278.45 * 280 = 77966 Joules
7980XE - 318.27 * 165 = 52514 Joules
10980XE - 334.77 * 165 = 55237 Joules
Interesting! Seems intel has the advantage vs AMD in terms of efficiency. Though I have to admit, this calculation may be flawed, here is an article on what intel defines as TDP and how the answer on what power was actually consumed in these benchmarks 'depends' on the CPUs circumstances, this part is particularly telling;
when we quote a base frequency, we think about a worst case environment and a real world high-complexity workload that a user would put on the platform – when the part is run at a certain temperature, we promise that every part you will get will achieve that base frequency within the TDP power.
TDP, what it is and why its not a good yardstick
So, as I mentioned above, this article originally calculated total energy consumed using TDP, and that was the mistake. TDP is the only figure the manufacturer gives that is related to power, but, it is determined in contrived conditions and in real world tests, is not reliable enough to use to compare CPU power consumption.
To give us a concrete example of this, checkout this image from anandtech.com
We can easily see here that power consumption is clearly different from TDP, in some cases. Thankfully we have the same processors as in the original calculation above that used TDP, we'll now repeat this calculation using actual power draw and see where we come out.
3970X - 218.35 * 286.72 = 62605 Joules (original 61138, difference 1467 or 2%)
3960X - 278.45 * 279.82 = 77915 Joules (original 77966, difference 51 or 0.06%)
7980XE - 318.27 * 182.69 = 58144 Joules (original 52514, difference 5630 or 9.7%)
10980XE - 334.77 * 190.84 = 63887 Joules (original 55237, difference 8650 or 13.5%)
If TDP is not a true measure of power consumption, what is it and what's it good for? Thanks to Steve from Gamers Nexus we can present the formula that A