Optimizing a digital photography computer requires proper selection of form factor, processor, RAM GPU storage and general setup. This page provides background on setting up a computer for excellent image editing performance.
Operating System (OS)
Central Processing Unit (CPU)
Random Access Memory (RAM)
Graphics Processing Unit (GPU)
Configuring the workstation
The ability to edit digital photography quickly requires a properly configured system. There are many performance factors that must be balanced. A proper system will utilize a 64-bit operating system with as much RAM as practical. It’s important that the CPU, the GPU and the storage also be configured so that your system runs efficiently. And finally, it’s also important to make sure that you use your resources wisely, particularly in designating storage.
What’s your bottleneck?
When considering performance, you should try to figure out which components are going to slow you down the most, and fix those first. There are lots of combinations of hardware, software, setup and workflow practice, so there is no single method to find the bottlenecks. But there are some issues that are pretty common performance barriers. Let’s look at a triage list, in order of importance.
- Image editing software – In order to take advantage of the optimum performance, you need to use a modern application that takes advantage of all of the tools below. In particular, your imaging applications almost certainly need to run in 64-bit mode.
- 64 bit OS – This is the foundation of good performance. It requires both the OS and the application to support 64-bit architecture.
- Adequate RAM – In most cases, this should be as much as you can afford. It should be at least 8GB, or 3GB per processor, whichever is more. Add more if you can. Applications written for 64-bit operating systems have the previous RAM limits removed.
- Adequate moderately-fast data storage – We’ve broken the bottleneck discussion into two parts. It’s very helpful, from a performance perspective, to have more than one drive. For good speed, these should be either 7200 RPM drives or SSDs.
- Processor number and speed – Given a good platform for RAM and OS, the ability of the processor to handle the required calculations will probably be the next limiting factor. Newer processors and more cores is better.
- Accelerated GPU – If your application supports GPU acceleration, then a fast GPU can also make a lot of difference. If the program is not accelerated, then you may not see any difference at all.
- Really fast data storage – Fast data storage can help with opening and closing files, as well as ingestion and backup processes. Consider striped RAID and SSDs for maximum performance, particularly for scratch disks and catalog storage. Connections should be by fast connection such as USB 3, eSATA or Thunderbolt.
If you are a Lightroom or Aperture user, then you can see great benefits by using your fast storage wisely.
- These programs constantly access lots of small files, and they can really benefit from storage on SSDs rather than conventional spinning disk.
- They would also benefit by being stored on RAID 0 storage
- If neither of those is available, you’d still see a speed-up by storing the catalog on a drive that is separate from the one that holds your image files.
Photoshop cache is another place better storage can speed things up. In this case, it’s less about reading and writing small files than it is about sustained read/writes of big files. This changes the order slightly.
- SSD or RAID 0 is probably the best media for Photoshop cache.
- If you don’t have any of those at your access, you can also use a conventional 7200 RPM drive.
In order to take advantage of 64-bit applications, you probably need a 64-bit operating system (Lightroom can run in 64-bit on Mac 10.5, which is a 32-bit OS). These operating systems include Snow Leopard and Lion for the Mac and Windows Vista and Windows 7 64-bit versions. The chief reason to work in 64-bit mode is that it enables the use of as much RAM as the machine has available. This can speed up image processing significantly, particularly for large files.
The CPU is the core element of a computer, and its design affects the speed that computations can occur. Because of the number of calculations required for image processing, it is essential that you have a fast processor. Manufacturers are choosing to improve performance through the use of multiple cores, and other changes to the processor architecture.
All high-end computers are now sold with some variation of multiple processors, and/or multiple cores per processor. Each core can handle its own stream of calculations, which speeds up the work done by the computer. It is commonplace to find dual-core and quad-core processors in use for laptops. Desktop machines are currently available with up to 16 cores.
In order to achieve faster processing, computer programs have largely been re-written to take advantage of multiple processors and multiple cores on those processors (as well as 64-bit operating systems). Most professional image editing programs have been optimized for multiple/multi-core processors.
Note that the speed boost you get from having multiple cores won’t be an exact multiple of the cores. It will depend on the design of the OS, design of the software and whether the task is one that can be split up easily. If you want to maximize performance, you’ll want to find up-to-date tests that measure performance of the software you care about most. Sometimes per-core speed is more important, sometimes the number of cores is the most important.
RAM is where a computer temporarily stores data that it is currently working with. Typically, files are read off the hard disk and loaded into RAM. The processor does its work, and eventually the files are saved back to the hard drive. Since RAM is so much faster than a hard drive, all your computer work goes faster if entire files can be loaded into RAM while they are being worked on, as shown in Figure 1. If the entire file won’t fit into RAM, it has to be “swapped” back and forth to the disk, which slows everything down.
When Photoshop works on a file, it does not only keep one copy of the file in RAM. By storing multiple versions in RAM, Photoshop can speed up everything it does, particularly any kind of “undo”. A file that is only a hundred megabytes may occupy more than a gigabyte of RAM as you work on it, if the space is available.
Figure 1 Files are loaded from the hard drive into RAM and the CPU does its work to them. Eventually, they are saved back to the hard drive.
Cost-effective performance boost
In the early days of computing, RAM was small in capacity and very expensive. RAM is now one of the cheaper computer components and, with 64-bit processing, the amount of RAM that computers can use has become very large. For instance, 32-bit processors can address up to 4GB of RAM, while 64-bit processors can address up to 16.8 million terabytes of RAM. While you’ll probably never reach a need for 16.8 million terabytes, a good rule of thumb is to have at least 2-3GB of RAM per processor core in your computer. Most current computers suitable for image editing support at least 8GB of RAM, and some support up to 64GB. We recommend you install as much as you can afford.
Most computers require RAM to be loaded in matched sets (typically sets of two or four chips). Use great caution when purchasing additional RAM and follow the recommendations of your computer’s manufacturer for type and quantity.
As you determine how much RAM you need and how to allocate it, pay attention to which programs you have open at any given time. A program that you are not currently using may still be open and prevent a chunk of RAM from being available to your image editing application.
While RAM chips have become increasingly reliable, there is an additional advantage to have ECC (error correction code) RAM to avoid data corruption. This RAM design uses internal error correction algorithms to detect and recover from small errors. It is more expensive and slightly slower than non-ECC RAM. Note that Apple desktop computers support ECC RAM, as do most high-end PC desktops. Apple laptop computers currently do not support ECC RAM, but some PC laptops do.
Graphics cards, also referred to as video cards or the GPU, are becoming increasingly important components for image editing workstations. GPUs have parallel processing capability which makes them more efficient at executing the complex algorithms used for computation-intensive tasks in image editing.
The GPU is typically bundled with your computer at time of purchase. For some types of computers (especially towers) there is often a range of options presented at time of purchase. Towers can often be easily upgraded with third-party offerings at a later date. Currently, CUDA-accelerated cards provide the best performance boost.
All-in-one and laptop computers typically offer few if any options for the GPU. As such, it is critical that you closely examine your options at time of purchase.
You can think of a GPU as a multi-core processor that is designed specifically to render image files. It’s really good at breaking up image adjustments into multiple streams and working on them simultaneously, as shown in Figure 2.
Figure 2 A GPU is like a “mini-computer” that is specially designed to process image signals by breaking them up into lots of smaller streams. This helps video cards render images out to the screen in real time.
For this reason, programs such as Adobe Photoshop depend on the GPU for internal signal processing tasks, as shown in Figure 3. The real-world implementation of GPU acceleration is, unfortunately, pretty spotty. For a program to make use of a GPU in signal processing, it needs to be able to hand data back and forth very quickly and without any errors. This is a complex operation.
In order to make use of GPU acceleration, you need to check with the manufacturer of your image editing application for a list of supported video cards. Unsupported cards won’t help you with this, no matter how fast or expensive they are. And even when an application can make use of a GPU, it can’t always do all functions using GPU acceleration.
This is an area of pretty rapid change, so you will want to consult current product literature before making a purchase decision.
Figure 3 Image editing applications may make use of the special capabilities of your GPU when processing an image.
Scratch Disk refers to hard drive space used by an application, such as Photoshop, to temporarily store data (often in the form of history states) that won't fit into RAM. Scratch disk configuration used to be far more important in the past when RAM was expensive and limited in size. Now that applications and operating systems are gradually becoming 64-bit capable, it is much more likely that increasing RAM will speed up Photoshop more than RAID 0 scratch disk setups (and easier to maintain).
Your need for scratch disk depends on the applications you use and how you use them. If you routinely work on large Photoshop files for a long time, scratch disk can be pretty helpful. If you have a lot of RAM and don’t work with big files, then fast scratch disk may not help much at all.
Unlike many of the system components discussed on this page, storage is one component that is likely to change during the useful life of your computer. Internal hard drives can be replaced, and external storage can easily be added. It’s one area where you can often boost performance for a modest cost. We have an entire section on the website dedicated to storage, but we’ll outline some performance tips here.
Use proper RPM drives
All conventional hard drives have a speed rating, as measured in RPMs. Use of a drive with a slow rotational speed can really slow things down. In general, any drive that is used for any kind of imaging task should probably be at least 7200RPM. It’s very common for laptops to ship with 5400RPM drives. This is particularly problematic if you are using a single drive for the laptop, and should be upgraded to a faster drive if possible.
Note that faster drives will use laptop batteries faster and make the computer run hotter.
Make sure you have adequate space available
In normal usage, hard drives are constantly swapping files and bits of files around. If there is not adequate free space on the drive, it will need to break files up even further and stash chunks of the file in multiple places (this is called Fragmentation). This is much slower for both reading and writing. For drives with lots of little files and lots of activity, it’s best to have 20% or more free. For drives with little activity, it’s possible to get by with much less free space – maybe a few percent.
If your disk is overly fragmented, things slow down. On the Mac, OSX has been very good about automatically defragmenting in the background. Windows 7 also has a built-in utility, but many Windows users choose to use a separate application.
Add an additional drive
Many tasks can be accelerated if the computer can use a drive for some dedicated work. For instance, keeping your Lightroom or Aperture catalogs separate from the image files divides the work efficiently.
The catalogs require a lot of little files to be written and read, which requires the drive to seek lots of files at different places on the drive. The image files, by contrast, are more dependent on sustained throughput of bigger files. Separating these two kinds of data makes each one go faster.
Consider an SSD
Solid State Drives are much better at accessing lots of little files than spinning disks are. This is useful in boot-up, or when accessing image catalogs. Therefore, you probably get the biggest bang from an expensive SSD by using it for Boot/Applications and/or for your catalogs.
In general, SSDs will also do a great job with sustained throughput of big files, so they can provide an advantage for the storage of image files. This gets expensive pretty quickly, at the moment, since a large library of image files would take up a lot of space. Read about SSDs in the Data Storage Section
Consider a RAID 0
You can also buy a RAID 0 device that stripes two or more hard drives together for additional speed. This offers the most advantage for sustained throughput of large files, but it can also speed up work with lots of small files. You can find inexpensive RAID 0 boxes with two internal drives for as little as several hundred dollars.
Note that RAID 0 is a more fragile storage configuration, and should only be used in conjunction with a rigorous daily backup regimen.
Read about RAID in the Data Storage Section
Make sure your drive connections are fast enough
Sometimes the bottleneck will be the speed of the connection. You want to make sure that the connections you are using can support the full speed capacity of the storage device.
Read about Connections in the Data Storage Section
We’ll start by examining a good configuration for a tower system, since this is the best system for your primary image editing. We’ll assume that this system has a 64-bit OS and plenty of RAM. We’ll want to have several drives in the system, each dedicated to a particular type of storage. We’ll also want to have some external storage for backup.
For storage, you will likely want to use multiple drives to achieve best performance. If your computer has available slots, internal drives can be very affordable. if you’re out of space, external drives and arrays can be successfully used.
Your current works in progress should be stored on fast drives since you’ll be accessing these the most. The fastest choice at the moment are generally high-quality SSDs, followed by RAID 0 drives, followed by 7200 RPM single drives. Let’s consider each of these to be a “device” in the context of this discussion, even though a RAID 0 it technically several devices.
You can typically speed up a multi-drive system by placing different kinds of data on separate devices. A good rule of thumb is to split image files, catalogs and cache files onto different devices. Each of these can be accessed simultaneously, and it’s faster if each can be reading and writing independently of each other.
Figure 4 diagrams a configuration scheme for tower data storage.
- Boot/Program drive. Keep your operating system and your applications on a dedicated drive. It is recommended that you regular maintain a restoration copy of this drive to recover from data loss or drive failure.
- Working Image Files. Your collection of image files will probably make up the largest share of data for an imaging workstation. These require fast data transfer for download, backup, and loading into programs like your catalog or Photoshop. A dedicated 7200 RPM hard drive is the best choice for many, providing high capacity, good speed at a very good price. SSDs provide great speed, but high capacity is expensive. A RAID 0 configuration offers high capacity at a good price, but they are comparatively fragile.
- Catalog Files. Catalog files take up much less room than the images themselves, and are often accessed simultaneously with the image files. Once again, a dedicated 7200 RPM drive will be an excellent choice for many, balancing cost, speed and capacity. SSDs are a great choice if you it is affordable in the capacity you require.
- Cache. If you need cache because you don’t have adequate RAM for the files you work with, then a cache drive can speed things up. SSDs add even more speed if you use cache frequently. If your workflow can’t take full advantage of a dedicated cache drive, you might want to use this drive slot for a backup drive.
- Archive storage. You can use your storage resources more effectively if you can more lower-access archive files off the working drives regularly. This frees up room on the working drives which allows the drive to perform better. It may also make it more affordable to use faster SSD storage for your works in progress.
Figure 4 In a tower system, you should split your data between several drives. Here’s one possible configuration.
A laptop will be limited in the number of drives that can be used, and will generally have less connectivity. In order to achieve better performance, a second internal drive can be used. Some computers allow for this installation easily, while others choose to remove their optical drive to accommodate for more space.
Laptops typically have fewer slots for memory than a tower. In most cases, you’ll want to install the maximum possible.
For storage, you will likely want to use multiple drives to achieve best performance. Laptops offer very limited expansion options.
Upgrade your internal drives.
If your computer has a drive slower than 7200 RPMs, it should be upgraded. Likewise, if the capacity of the drive is significantly below the sizes that are currently available, it should probably be upgraded. A full drive runs much slower than one with lots of room to spare.
Allocating multiple drives
You will likely only have a single internal drive by default. It is often possible to replace the internal optical drive with an additional hard drive, which is a good upgrade for a video editing laptop.
Since we have fewer drives to choose from, each will have to do more than with a desktop (at least when you are int he field.) One way to do this is to keep smaller files on one drive. This could include the OS, the applications and your catalogs.
Working Image Files.
It’s often advantageous to use a second laptop drive for image file storage, since images make up the bulk of the storage requirements for most photographers.
External Drives with Laptops
Of course, it’s essential to have external drives to fully outfit a laptop for image work. You can use these for storage of your catalogs, your image files, your archive or some combination. Here are some considerations.
It is a very good idea to have access to fast external storage disk arrays when editing with a laptop.
- Thunderbolt is the new fastest type of connected storage, but the hardware options are extremely limited at the moment.
- eSATA is a well-supported choice that provides very good speed with lots of hardware choices
- Firewire 800 and USB 3 can also work, but provide less speed.
Figure 5 You can speed up your laptop performance by adding a second internal drive. But you’ll still need some fast external storage.