Blog

Motivation is a photography blog that discusses the creative aspects of photography. The posts will include thoughts about images and their interpretation, photographers and their work, technique, workflow, my ongoing projects, and perhaps even the occasional off topic rant.

Photoshop Optimized Computer II

For Part I of this series click here.

Let me begin Part II by explaining what I view as a 'Photoshop Optimized Computer'. Obviously that means a computer whose hardware/software is set up in a way which allows Photoshop to run in the most efficient and fastest way possible. But what special hardware or software is needed to allow this efficiency to occur? How is a 'Photoshop Optimized Computer' (I think maybe I should try to trademark that little phrase before someone else does) different from the standard computer you might pick up anywhere?

In order to answer this, we need to know a bit about how Photoshop itself works. More specifically, we need to know about the software's data handling strategy. Now, I need to point out that my 'day job' has nothing to do with computer programing.....so, if I make a mistake in any of these posts I would be more than happy to have someone out there correct me.

When one opens a file using Photoshop, the program puts the data into RAM. If there is not enough RAM to handle the file, or if in the process of editing the file by adding layers etc the file becomes so large that it doesn't fit into the available RAM, then Photoshop writes that data to a physical hard drive that it has set aside for itself known as the 'scratch disk'. The specific drive or drive volume that Photoshop uses for the scratch disk can be chosen in the Photoshop Preferences. It should be recognized that:

1) Not all the RAM in the computer can be devoted to Photoshop use, as some of it is needed for use by the OS (and 32 bit programs limit the amount of usable RAM to 4 GB).

2) Once the data file gets large enough to require Photoshop to write its data to a physical hard drive things move much slower since the speed at which data can be written to a physical drive is much, much slower than the speed at which it can be stored in RAM.

So what conclusions can be drawn from this information? Knowing that things move much faster when Photoshop has enough RAM to write to tells us that the more RAM the better. And then more! And to allow Photoshop to utilize all that RAM, it would be optimal to use a 64 bit OS in order to remove the 4 GB RAM limit that is imposed by a 32 bit OS.

However, no matter how much RAM is in the system, Photoshop still needs to use the scratch disk to some small degree, even if the file itself fits fully into RAM. For this reason the scratch disk should be optimized, even in systems with a good deal of RAM. How does one achieve this optimization? It can be done in two ways.

The first and most important way is to put the scratch disk on a separate physical drive from the OS (the Photoshop application itself can be installed on the OS boot drive...some say it is optimal to install it there, as opposed to on another drive). That way the drive head can read and write to the scratch disk without having to do anything else. If the scratch disk were on the same physical drive as the OS, that disk's read/write heads would be slowed down by having to perform both the scratch disk duty as well as the reading and writing that the OS requires, such as writing to the page file and other required duties (don't move your page file to the scratch disk....if you don't know what that means just forget about it, as it's not there unless you put it there yourself).

The second way to optimize the scratch disk is to not only put it on a separate physical disk from the OS, but also to make this separate disk as fast a disk as possible. Options thus include, going from slowest (worst) to fastest (best): 5400 RPM drive, 7200 RPM drive, fast 7200RPM drive (no, not a separate type but 'better' because of increased cache, number of microprocessors etc), 10,000 RPM Western Digital VelociRaptor (though many would argue that there are some 7200 RPM drives out there that function faster than the 10000 RPM VelociRaptor) and, finally, a RAID 0 array.

A RAID 0 array is simply using two disks that appear to the OS as a single larger disk. Data is written to the array by splitting it and having half of it go to one disk and half to the other. Therefore each physical disk has to write only half as much and they can both do it simultaneously since each disk has its own read/write head. If one of those two disks fail all the data from the file is lost and can't be reconstructed....but since the scratch disk data is used only temporarily while the file is being worked on.....who cares?

Notice I didn't include a solid state drive (SSD) in the list of options. Though an SSD would be superb for data storage, the OS, or use in a RAID array, the current feeling is that as a stand alone disk it is not optimal (in addition to its being very expensive) for use as the scratch disk. The reason for this is that, while SSDs have blazing fast read speeds, the current write speeds (except perhaps for the super premium Intel E series SSDs) are no faster, and possibly slower, than a fast hard drive. The important fact to recognize here is that, for a scratch disk, the write speeds are much more important than the read speeds. This, then, is what makes the SSD, at the current level of technology, perhaps a sub-optimal scratch disk....or at least a scratch disk that is no better than the current breed of hard drives but costing far more.

So, to sum up:

1) OS and Photoshop on the same drive

2) RAM and more RAM

3) 64 bit OS so that RAM constraints are removed

4) Scratch disk on a second physical disk that is separate from the OS boot disk and

5) Make that separate physical scratch disk a fast one, with a RAID 0 array being optimal.

Want to dig a little deeper? Try this article from the Adobe Knowledge Base or this one, which is exceptional, from Lloyd Chambers. Though the second one discusses performance on a Mac, the information it contains, for the most part, can be applied to a PC as well.

I should mention one caveat, and that is that in this discussion I am assuming that large files are going to be worked on. If you are just working with very small files all of this might not be necessary. But if you are starting with large files (I shoot in RAW format with a Canon 5D MKII) that you then edit with many layers, use smart objects etc....then this info is for you.