Photoshop CS4 Optimization (Introduction)
See also: Optimizing Adobe Lightroom.
This study answers real-world questions for optimizing Adobe Photoshop CS3/CS4:
- How much memory?
- Which model/brand of hard disk?
- Do I need RAID?
- How do I configure Photoshop for best performance?
These questions are answered definitively for the Mac Pro and MacBook Pro. The performance gains for working with large files are as much as 5X, making the choice of system configuration critical to productive work with Photoshop.
This study is not about how fast Photoshop can executeor or various filters; those operations are functions of the CPU speed and memory bandwidth; it’s a simple choice: buy the fastest (GHz) CPU with a premium video card, should you determine that CPU speed is your primary impediment.
When the file(s) fit into memory, performance is governed exclusively by CPU clock speed along with on-chip cache and number of cores, and main memory bandwidth (and also your operating system and/or other programs running at the same time). See Multi-core Computers and Apple Mac Pro and All About Mac Pro Memory to understand these issues better.
When the scratch disk gets involved, CPU speed has little or no influence on performance, because the CPU will be waiting for data much of the time. In this situation, ample memory and fast hard disks exert far more influence on overall processing time. The remainder of this discussion is what happens when Photoshop does not have enough memory eg when working with very large files (many megapixel and/or many layers).
The Photoshop “scratch” volume comes into play when Photoshop utilizes as much memory as it can, but still cannot hold all its working data in memory. Then Photoshop must “swap” data to and from the hard disk, a far slower proposition than manipulating it in main memory. See Verifying your memory requirements.
For users with moderate size files (a single file of up to 500MB or so), the scratch volume is used sparingly, provided that the system as as a whole has adequate RAM (eg 8GB on a Mac Pro). But when you open several files of that size, use a long history or cache levels, add many layers, etc, then the scratch disk will start to be used significantly. Figure a least 3X the memory for a file eg 1.5GB memory for a 500MB file.
A fast Photoshop scratch disk is fast mainly because of transfer rate, which means creating a striped RAID for optimal results. Please see the RAID page for details on creating a striped RAID.
Some users will never experience the need for a scratch disk; don’t bother with this stuff unless Photoshop starts using it (noisy disk as the drive seeks, very slow operation, low “efficiency” in the Photoshop status readout).
Please see the Configuring Photoshop page.
You can check how much real memory a program is using with Apple’s Activity Monitor How.
Anof 100% is the goal(see the panel below). If efficiency is at or near 100%, then only a faster computer will improve performance eg 3.2GHz instead of 2.8GHz.
Show Photoshop’spanel, and configure it using . The , and readouts will help you determine what’s going on.
Note thatdoes not capture the efficiency of an entire script or action, only the last operation. This makes it useless for getting an overall picture of efficiency when pruning an action or script. Use a watch or clock to get the actual elapsed time of a long running operation.
Also, note that the values shown are prone to inaccuracy when the history palette is used to back up and go forward (a bug). Finally, the Info panel can be slow to update, sometimes taking 10 seconds or more to show current values after a big operation (another bug—it should say “calculating...”).
* “scratch” is what you need when contemplating the CS4 upgrade price!
Please see What about a solid state drive? for an overview of solid state disks (SSDs). SSDs are preferable to STDs!
Both disk and CPU speed influence the total time for an operation to run. Reading and writing data takes time, and “crunching” it (computing) also takes time. It is the relative proportions that matter; we say that a task is CPU-bound when its time to execute is dominated by the CPU (processor) speed. We say it is IO-bound when its time to execute is dominated by the time to read and/or write date (eg “I/O” or input/output).
You can spy on what is happening by using Apple’s Activity Monitor.
There can be overlap between disk I/O and computing, in fact there can be complete overlap meaning that a faster CPU won’t help at all—100% of the time is spent doing I/O, even if the CPU is quite busy simultaneously. Unfortunately, this does not appear to be the case with Photoshop.
When Photoshop is using the scratch disk heavily, it is IO-bound. A fast scratch disk can cut the total time down dramatically. Without the scratch disk, Photoshop is generally CPU-bound (perhaps poorly utilizing the available CPU cores, but CPU-bound nonetheless). For example, opening and saving files can be CPU-bound because Photoshop uses only a single CPU core (“single threaded”).
Determining Photoshop memory requirements PERMALINK
Get an accurate idea of how much memory is required, and how large a scratch volume to use.
Determine the largest scratch file size that Photoshop uses for your work. If you work with more than one file at a time, add the scratch file sizes for all the files together. The easiest way to do this is to look at the configure the Info panel to show the scratch size and efficiency.for each file. You may have to
- Open the maximum number of files you would ever edit at once.
- After opening each file, jot down its scratch file size.
- For each file, perform the series of operations or actions you might typically perform. Err on the side of more operations rather than less.
At the end of step 3, add the new scratch file size(s) from all the file(s), rounding up to the nearest gigabyte (GB). This is your ScratchFileTotal figure. Note that after a lengthy operation it can take 10-20 seconds to show the correct information in the Info panel. Go to step 2.
Extensive testing confirms the formula below is optimal, meaning that more memory won’t make things run any faster. Figures are in gigabytes (GB):
Memory= 2 + ScratchFileTotal (round this up to the nearest 4GB)
If you run other applications at the same time, they’ll need memory also. The “2” figure is intended to account for that. If you’re running Photoshop by itself (no other programs), then the extra 2GB can be omitted.
Keep in mind that memory should be installed as 4 matched modules at a time or memory performance may be impaired—see All About Mac Pro Memory.
- Example — 3GB scratch
- Scratch file size is 3GB, yielding a recommendation of 5GB. Round this up—you should install 8GB of memory.
- Example — 15.7GB scratch
- Install 16GB of memory; this will work optimally if you are running Photoshop by itself. Go to 24GB or 32GB if you run other significant programs at the same time. If you already have 2GB or 4GB, adding 4X4GB modules should suffice.
- Example — 58GB scratch
- Install 32GB of memory, and still this won’t be enough. When and if it’s possible to install 64GB or 128GB, your work will speed up even more.