Skip to main content

Adobe CS5: 64-bit, CUDA-Accelerated, And Threaded Performance

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.

  • reprotected
    Fermi exceeds at something finally!
    Reply
  • MAGPC
    What if I am an ATI user?.
    And Iam an ATI user !!!.
    Reply
  • IzzyCraft
    magpcWhat if I am an ATI user?.And Iam an ATI user !!!.You still get gpu acceleration just not as much =p and it would be a ATI listed on their site just like nvidia it's a limited pool.
    Reply
  • bunnyblaster
    Please increase the size of the legend. It is easy to figure out in this review since it's only two colors, however, if it is more than 2, it is hard to figure out which bar is referring to which score.

    Please consider changing the page drop-down menu to the old school drop-down menus like the other tech blogs like Anandtech and Arstech, etc.

    The interface is a little clumsy and seems to be poorly timed when I try to scroll down the drop-down menu. It often closes when I am trying to scroll to another page. Sometimes, when the page loads, it is hidden by a pop-up word ad.

    However, the article content was strong.
    Reply
  • dEAne
    I have an ATI card and still I have no problem using photoshop CS4 and premiere CS4. The thing with CS5 is that if you can't wait at all, but it is not that really long.
    Reply
  • adiomari
    why cuda and not open-cl?!!
    Reply
  • shaun_shaun
    amazing performance increase !!!!!
    Reply
  • Scott2010au
    Surely they mean the 2GB memory limit (for Win32 processes)?

    Which is one reason why the Apple Mac version is so popular (Unix/BSD can handle more per process).
    Reply
  • Why CUDA? Simply 'cause it's a mature technology.
    Reply
  • amdfangirl
    adiomariwhy cuda and not open-cl?!!
    CUDA preceded Open-Cl. Dev cycles are long and tedious. If you're going to implement something, it'll take time to show up. I honestly hope more developers decide to code for Open Cl.
    Reply