Photoshop: Hardware Optimization

mac_pro_web_master4web2

Optimizing your hardware for heavy Photoshop work is most importantly about three elements: processor, RAM, and scratch.

Processor: It is important to have a fast processor, but that it pretty much the norm nowadays. Today we have to think about how many cores to get. Photoshop is not a program that can make use of multiple cores very well. Conversely, video and audio can make excellent use of multiple cores. Why? It’s a mouthful, but John Nack says this best:

Why does video rendering scale better than Photoshop? Rendering video is typically done by taking some source image material for a frame and performing a stack of adjustments and filters on it. Each frame is only a few hundred thousand pixels (for standard definition) or at most 2 megapixels or 8MB in 8-bit (for HD). Thus, particularly for standard definition images, the cache gives a lot more benefit as a sequence of operations are performed on each frame, and for each frame, you fetch the data, do several operations, and write the final result. Different frames can usually be rendered in parallel – one per processor, and so each processor does a fair chunk of computation for each byte read or written from memory.

By contrast, in Photoshop most time-consuming operations are performed on a single image layer and the problem is the size of that layer — 30MB for an 8-bit image from a 10MP digital camera. 60MB if you keep all the information by converting the raw file to 16 bit. Or if you’ve merged some Canon 1DSMkII images to HDR, that’s over 200MB. And of course the people most concerned with speeding up Photoshop with more cores are the ones with the giant images. When you run a Gaussian Blur on that giant image, the processor has to read all of it from memory, perform a relatively few calculations, and then write the result into newly allocated memory (so you can undo it). You can work on different pieces of the image on different processors, but you’re not doing nearly as much computation on each byte fetched from memory as in the video case.

So, 2 cores are useful, maybe 4. Spend the extra money on a faster processor or more RAM rather than for 8+ cores.

RAM: Photoshop can directly use only 3 GB of RAM, but 6 GB is good to have for RAM hogging operating systems like Mac OS X. Of course more can’t hurt, but you will get very little performance increase after 6 or 8 GB.

Scratch: It is best to have an entire hard drive dedicated to the scratch. It is where Photoshop stores all of it’s temporary information. The scratch drive needs to be fast and large.

There are many ways to make your scratch drive faster, but they are expensive. Having a striped (RAID 0) scratch disk can increase performance drastically, but a RAID card from Apple is $700, plus you need two drives. Also, a Western Digital Raptor is a very fast hard drive at 10,000 RPM, but they are small for what they cost in comparison to a 7,200 RPM drive (about 3x as much). These are faster simply because they spin faster so the data can be read faster. In addition, we now have solid state drives (SSD), but they are also very expensive (about 9x as much) as a similarly sized 7,200 RPM HDD. They are faster than HDDs because they have no moving parts.

Note that I did not talk about graphics cards. For new features in Photoshop CS4, it might be nice to have a high end graphics card, but in general nothing fancy is necessary.

So, that’s about it for hardware. There are other things we can do to optimize for Photoshop, but they are more on the software end.

Have a look at these resources for more info:
John Nack: Notes on Tuning
John Nack: Photoshop and Multicore
Photoshop World Presentation Slides

2 Comments

  1. Posted October 16, 2009 at 5:06 pm | Permalink

    You can also stripe drives (RAID 0) using the disk utility.

    I personally have a Raptor 10,00 RPM drive that has been partitioned to about 40GB for scratch and the rest for fast capture (its only a little faster at rendering previews). A raptor is almost as fast as 2 7200 RPM Drives Stripped and only requires one bay.

    I would like to get another raptor and stripe them but I have no bays left unless I convert my second dvd bay to a hard drive tray.

  2. Posted October 16, 2009 at 5:07 pm | Permalink

    10,000 not 1000 RPM oops!

Post a Comment

Your email is never shared. Required fields are marked *

*
*