Table of Contents
Introduction
When designing a computer there are literally thousands of different hardware components from which you can choose. Each one will affect the performance of your system in different ways and depending on the software you will be using some will be more important than others. In the case of Adobe Photoshop CC, one of the most critical hardware components is the CPU. Even then, there are still hundreds of different CPU models to choose from and each have their own unique specifications.
So the question is: how do you know which CPU will give you the best performance in Photoshop CC?
Before even attempting to answer this question, it is important to understand the two most basic CPU specifications:
- The frequency is how many operations a single CPU core can complete in a second (how fast it is).
- The number of cores is how many physical cores there are within a CPU (how many operations it can run simultaneously).
In an ideal world a CPU that has the same frequency but twice the number of cores would be exactly twice as fast. Unfortunately, making software utilize multiple cores (and do so effectively) is difficult in most situations, and almost impossible in others. Add in the fact that higher core count CPUs tend to have lower operating frequencies and it becomes even more difficult to ensure that you are choosing the best possible CPU.
In this article, we want to find out how well Photoshop CC can utilize multiple cores – known as multi-threading – to help determine what type of CPU (either one with a high frequency or a high core count) will give you the best possible performance. If you want to skip over our testing procedure and individual benchmark results and simply view our conclusions, feel free to jump ahead to the conclusion section.
Test Setup
To help us determine how many cores Photoshop CC is able to use in a variety of situations, we based the majority of our testing around two benchmarks: Hardware Heaven's now-discontinued Photoshop benchmark and ClubofOne's Photoshop Speed Test. However, since we want to determine what actions in Photoshop are multi-threaded and not just benchmark the performance of our system, we had to make a few changes to the benchmark scripts.
First, for both benchmarks we dramatically increased the test image size. We increased the Hardware Heaven's test image to 500MB and the Speed Test's image to 2GB. This was done so that the various actions we will be recording would take long enough for us to get accurate results. Second, we added "stop" actions to the Speed Test action list which will allow us to accurately measure CPU core loads and to time how long it took for Photoshop to perform each individual action rather than the entire group of actions.
In order to have a large amount of CPU cores available, we used the following hardware:
Testing Hardware | |
Motherboard: | Asus X99 Deluxe |
CPU: | Intel Xeon E5-2687W V3 3.1GHz Ten Core |
RAM: | 8x Kingston DDR4-2133 8GB ECC Reg. |
GPU: | NVIDIA GeForce GTX 980 4GB |
Hard Drive: | Samsung 850 Pro 512GB SATA 6Gb/s SSD |
OS: | Windows 8.1 Pro 64-bit |
PSU: | Antec HCP Platinum 1000W |
Software: | Photoshop CC 2014.2.2 |
Since we want to determine how many CPU cores Photoshop can effectively utilize, we are going to alter how many cores are available by setting the affinity for Photoshop in Task Manager. This way we can accurately benchmark Photoshop with anywhere from a single core to the full ten cores available with this setup.
To analyze the data, we will be presenting our results in terms of how long it took an action to complete compared to how long it took with only a single CPU core. This should give us a clear indication of how many CPU cores each action is able to effectively utilize.
Hardware Heaven Multi-threading Results
The Hardware Heaven Photoshop benchmark is no longer active, but still works great as a basis for our testing as it includes many popular effects such as image resize and rotation, various blurs and a number of other miscellaneous effects. The major change we made to this benchmark was to increase the test image size to 500MB in order to increase the accuracy of our measurements.
Starting with image rotation, we saw a decent increase in performance going from one core to two and increasingly smaller increases all the way up to five CPU cores. Resizing the image, however, was really only able to effectively use one or two CPU core.
Blurs are one of the few effects in Photoshop that are actually capable of using a high number of CPU cores. Not all blurs are multi-threaded (for example, Smart blur can only use one core), but many blurs will actively load every CPU core you make available to Photoshop. However, even though Photoshop is actively loading all the cores, there is a steep drop-off in performance benefits. In fact, none of the blurs we tested showed any benefit to having more than 5 CPU cores.
For all the miscellaneous effects included in the Hardware Heaven benchmark script, most only ever used a single CPU core. The lighting effect is the only one that used more cores, and even then there was only a miniscule increase in performance with two CPU cores available.
Speed Test Multi-threading Results
Our second benchmark is based on Photoshop Speed Test. For this benchmark, we again increased the test image size (this time to 2GB since the effects tested are all relatively quick) and also added short pauses between each action so that we could time individual actions. Normally Speed Test is intended to measure how long it takes to complete everything in the script, but for this article we are more interested in each action independantly.
Interestingly, we found that resizing the image was able to utilize up to three CPU cores. This is different than the Hardware Heaven benchmark where we only say a single CPU core being utilized effectively. The only other action that showed the benefit of having more than a single CPU core was changing the canvas size which was able to utilize two CPU cores.
The unsharp mask and gaussian blur portions of Speed Test showed that both effects are capable of multi-threading. However, unsharp mask peaks after about six cores and gaussian blur sees diminishing returns after about five cores.
Of all the effects we tested, converting to different color modes showed the greatest benefit of having multiple CPU cores. With ten CPU cores we saw up to a six fold increase in performance. That's not perfect, but it is actually pretty decent in terms of multi-threading efficiency.
The final portion of our Speed Test benchmark run involved a number of image adjustments including level, hue/saturation, and brightness/contrast. Hue/saturation actually benefited pretty well from having a high core count, although it leveled off around seven CPU cores.
Multiple CPU Performance
So far, we've only looked at how well Photoshop is able to utilize ten cores on a single CPU. So far, we have seen no indication that Photoshop should be able to utilize larger numbers of cores through the use of a Dual Xeon system with two CPUs but we felt we needed to test it just in case we see an unexpected result. Two CPUs does mean twice the memory bandwidth since only half the RAM is on each CPU so it is possible that we may see higher performance with two CPUs.
For this section, we used the following test system in addition to the X99 system that was used in the rest of this article:
Testing Hardware | |
Motherboard: | Asus Z10PE-D8 WS |
CPU: | 2x Intel Xeon E5-2687W V3 3.1GHz Ten Core |
RAM: | 8x Kingston DDR4-2133 8GB ECC Reg. |
GPU: | NVIDIA GeForce GTX 980 4GB |
Hard Drive: | Samsung 850 Pro 512GB SATA 6Gb/s SSD |
OS: | Windows 8.1 Pro 64-bit |
PSU: | Antec HCP Platinum 1000W |
Software: | Photoshop CC 2014.2.2 |
To see if multiple CPUs help, we compared the Hardware Heaven results from our X99 system to three different CPU configurations on our Dual Xeon system:
- Single CPU only (second CPU physically removed from the motherboard)
- Dual CPU, but affinity set to only allow Photoshop to utilize the cores on the primary CPU
- Dual CPU, no limitations set
This should give us a clear indication of how well Photoshop works with our Dual Xeon system and allow us to detect any odd performance issues. Unlike the rest of our results in this article, we will not examine the result in terms of x times single core performance but rather of the raw time in seconds to complete each action:
Blurs were one of the best effects for multi-threading in the Hardware Heaven benchmark (with the exception of Smart Blur) so they should have the best chance of showing a performance benefit from having two CPUs. However, if you examine the results you will see that this is not at all the case. We performed multiple rounds of testing, even to the point of completely reloading the OS and replacing hardware but the results never changed significantly. Instead of improving performance, adding a second CPU actually increased the time it took to apply a blur effect by 30-50%
What is interesting is that with only a single CPU installed into the Dual Xeon system, performance was almost identical to the X99 system which effectively rules out an issue between Photoshop and the hardware we used for our testing. However, once we adding the second CPU performance decreased by about 20-35% for the Field, Iris, and Tilt-shift blur. Setting Photoshop to only utilize the primary CPU helped, but still resulted in a performance decrease of about 10-16% for those same blurs.
Luckily, this drop in performance appears to be limited to the few effects that attempt to utilize a large number of cores. The majority of Photoshop actions showed no difference in performance with the Dual Xeon system:
Conclusion
Based on our testing, there are three major conclusions we can come to regarding the multi-threading capabilities of Photoshop CC:
- Photoshop does not work well with multiple physical CPUs. Most effects are not impacted, but anything that is highly multi-threaded (like many blurs) will actually take up to 30-50% longer if you have two CPUs versus just one. If you have a system with multiple CPUs, we highly recommend setting the affinity of Photoshop so that it will only ever try to use one of your CPUs.
- Most actions in Photoshop are either single threaded or lightly threaded. This means that you will get the exact same performance whether your system has two CPU cores or twenty CPU cores. For these actions, a CPU with a high operating frequency is key.
- Multi-threaded actions hit a point of diminishing returns after around 6 CPU cores, and most completely stop improving after 8 CPU cores. This includes effects like color mode conversion, many blurs, hue/saturation, brightness/contrast, and shadow/highlight. The best multi-threaded effect (converting to Lab Color mode) had a decent multi-threading efficiency of about 94%, but most of these effects had an efficiency closer to 80% which isn't so great.
One thing we want to point out is that the raw number of cores different Photoshop effects can utilize is only a starting point when choosing a CPU for Photoshop. Even though Photoshop may at times be able to use eight or even ten physical CPU cores, our testing has shown that it doesn't typically do so very effectively. Because higher core CPUs also tend to have lower operating frequencies, this means that the best CPU for Photoshop will be one with a moderate core count but a high operating frequency.
After examining the results of our testing, we believe that – of the Intel CPUs available at the time of this article – the following three models should give you the best possible performance in Photoshop CC:
Which CPU you choose is going to depend on a number of factors including which chipset you want to use and how much system RAM you need. The Intel Core i7 4790K is a great CPU and probably the overall best of the three, but the chipset it uses is limited to 32GB of RAM which may not be adequate if you work with very large images. For large images, the Intel Core i7 5930K will allow up to 64GB with current technology while the Intel Xeon E5-1650 V3 will let you use up to 768GB of RAM through the use of Registered ECC memory. The 5930K and E5-1650 V3 will both be a bit slower than the 4790K for most Photoshop tasks, but if you need more RAM the performance of the 4790K will be more than offset by not needing to use a scratch drive.
One last thing we want to point out is that our testing only covered the base features that come with Photoshop CC. If you regularly use a third party plug-in our testing may not be accurate. In our experience plug-ins tend to be almost entirely single-threaded (just like Photoshop itself), but there is the chance that a plug-in may benefit from having a large number of cores.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.