Photoshop CS5: Scaling And Rotation
Photoshop was one of the first applications to hop on the multi-threaded bandwagon during the shift from single- to dual-core CPUs. One of our biggest questions was whether Photoshop has scaled well on the desktop as core counts have gone up. Additionally, we wanted to see what impact enabling or disabling OpenGL acceleration in the GPU would have on our custom workload. Admittedly, this falls outside of our testing objectives, but it still keeps with the spirit of improving Adobe Creative Suite performance in hardware, and should provide an interesting comparison for those who still wonder if GPGPU acceleration is really “that much” better.
In testing Photoshop, we used a single-image photo collage measuring 20K x 20K (1.12 GB) and interpolated it to 50K x 50K (6.98 GB), figuring this would soak up most available RAM without spilling out into a swap file. We then took the interpolated file and rotated it 45 degrees. Being representative of both test sets, we kept and show below the CPU utilization observed during the rotations.
This is more about proving a concept than mimicking a real life workflow need. Photoshop may be relatively good at interpolation, but the dimensions we used were really aimed at creating run times meaningful enough to be measured. You’d be more likely to use smaller levels of interpolation across batch jobs—increasing dozens of image sizes by 20% with a single command, for example.
In a situation somewhat similar to our HT and multiprocessing setup with After Effects CS4, we see several situations in which enabling OpenGL hardware acceleration slows down processing when Hyper-Threading is disabled.
Our four-core, non-HT test shows a strange performance spike with OpenGL enabled, but otherwise we see two- and four-core scores all within two seconds of each other. Only with 12 threads when HT is enabled do we see a respectable gain.
On rotation, Hyper-Threading reappears as an occasional enemy. Eight threads with OpenGL enabled wins this test on a bang-for-buck basis.
Again, we see frustratingly low CPU utilization during Photoshop rotation. Only with two active cores does the CPU get a fair workout.