Links on this site earn me fees or commissions.
As an Amazon Associate I earn from qualifying purchases @AMAZON

Consult with Lloyd: cameras, computers, backup, etc...
Lloyd’s Patreon
Designed for the most demanding needs of photographers and videographers.
The fastest, toughest, and most compatible portable SSD ever with speeds up to 2800MB/s.

40 megapixels, IBIS, 1.2 pounds!

How to Configure Photoshop CS4 for best performance

Configuring Photoshop optimally will result in much higher performance with larger files, many files at once and/or long-running actitivies.

Be sure to read the Introduction and Overview page to understand how to gauge Photoshop memory requirements and more.

In this section, we look at ways Photoshop itself can be configured to improved performance:

Use the right plugins

Looking for top optics?

Be clear on this: Adobe’s advice as of January 2009 is stale. Plugins that Adobe either doesn’t enable or even include by default are critical to performance!

Use the Bigger Tiles plugin in conjunction with DisableScratchCompress plugin. Failure to use these plugins results in a penalty of up to 50% on Mac OS X in any “decent” configuration (over 100% for Photoshop CS3). It’s bizarre that Adobe calls these “legacy” plugins, because they have a massive performance impact. Download the Plugins

Bigger Tiles is critical

The Bigger Tiles plugin in particular is absolutely critical to performance in most cases, especially with large files. Using Photoshop CS4 11.0.1, I measured these bizarre results with and without Bigger Tiles on both a 2.8GHz 2008 Mac Pro and a 2.93GHz 2009 Mac Pro Nehalem. I confirmed with Rob-Art at that same behavior; the culprit seems to be the Smart Sharpen function, which runs far more slowly without Bigger Tiles.

Not using Bigger Tiles causes this massive performance hit, which far exceeds performance gains that hardware can provide, particularly on the 2009 Mac Pro Nehalem.

CRITICAL: the Bigger Tiles.plugin is essential even when there is no disk I/O
The Smart Sharpen filter is particularly sensitive to Bigger Tiles

The plugins

If you are using an older version of Photoshop (CS3, CS2), you might need to also add ForceVMBuffering, which causes Photoshop to allow Mac OS X to use excess memory for caching. Experiment for best results with these older versions.

Shown below are the installed plugins.

CRITICAL: add Bigger Tiles.plugin and DisableScratchCompress.plugin
With Photoshop CS3, you might also need ForceVMBuffering

Hide the Histogram panel

When running actions or scripts (testing or not), hide the Histogram panel. Hiding it drops the diglloydMedium/Huge benchmark execution time by about 10%. Even in the middle of an multi-step action, Photoshop updates the histogram display after each step, which can be a time-consuming operation, especially with CacheLevels=3, because it might involve reading from the scratch volume.

HIDE the Histogram panel when running actions or scripts


Striped RAID for scratch volume

Use a striped RAID for a scratch volume (a partition), consisting of at least two fast hard drives. Three drives are near-optimal, and 4-6 can produce incremental gains. See the Recommended Hardware page for details on drives.

A recommended partition size is 16GB or 32GB per hard drive. The reason is drive speed: see Why you need more space than you need for details. More per hard drive is fine; use enough space for a large enough volume to handle your needs.

Example: for a 4-drive stripe, make a 64GB or 128GB striped volume (partition). Make the volume larger if your scratch size requirements would exceed 80% of the volume capacity. Do not use entire drives: there is no guarantee that the fast side of the drive will be used; use a partition.

Photoshop performance preferences

The preferences discussed here are suitable for any Mac OS X system having 6GB or more of memory, and are often ideal even for 4GB systems, as proven by testing. Systems with 2GB of memory should be adjusted accordingly (and upgraded!).

Here are “freebies” to reduce memory usage and speed operations:

  • minimize the History States length. If you can work with no history, set it to “1”; this makes sense when running actions or scripts repeatedly, where history is not needed. Be sure to set it back to something longer for interactive work;
  • consider the number of Cache Levels. A setting of 3 - 6 should work well in most cases, with a setting of 4 being best for all-around use (but slightly slower than a level of 3 for some things). More on this below.
  • hide the Histogram palette when running actions or scripts.
  • Use the right plugins.

The Photoshop preferences dialog

This is Photoshop’s Performance preferences dialog. It is shown with Cache Levels = 3, which is the fastest for the benchmarks, but Cache Levels = 4 is often better for all-around use, and can be much faster for commands like Photomerge—it all depends on what operations are being done.

Testing setup with 16GB memory
Minimize the history states and cache levels to save memory

Open GL

OpenGL is shown disabled, because it degrades redraw performance on my system, a herky-jerky redraw that is intolerable. Disabled, it is much smoother and faster. Experiment—it might be worthwhile on other systems and/or might accelerate specific operations. But redraw speed (clicking layers on/off and/or viewing color channels is troublesome on my Mac Pro when enabled (with both the 2006 and 2008 Mac Pro models). Also, Adobe Bridge is completely non-functional with hardware support enabled on a stock 2008 Mac Pro with an ATI Radeon HD 2600!

Note that memory usage might need to be adjusted downwards if you run memory-hungry plugins which need some extra memory set aside for their own use; Photoshop shares the available memory with plugins.

Cache levels

Your particular workflow might influence the optimal number of cache levels, and with some plugins, using Cache Levels of 4/5/6 might work faster, according to anecdotal reader feedback. A setting of Cache Levels = 3 is the fastest for the diglloyd benchmarks, but Cache Levels = 4 might be a better all-around choice for most users. Cache Levels of 5 and 6 can cause preview inaccuracies, so stick with 4 by default.

The Photomerge command, for example, runs up to 80% faster using Cache Levels = 4 instead of Cache Levels = 3. However, a setting a Cache Levels = 4 can be slightly slower than a setting of 3 for other operations. You will have to experiment.

Memory usage and Mac OS X

On Mac OS X, the absolute memory limit is about 3.5GB for a 32-bit application. The 32-bit Photoshop CS3/CS4 allows specifying an amount up to 3GB as a preference, a way of divvying up the memory between itself and plugins (with their unknown memory needs). The 0.5GB differential is simply the amount required for other internal housekeeping, and reserves to prevent sudden and fatal “out of memory” errors; it is not wasted.

Mac OS X does not waste memory that cannot be directly utilized by programs: when Photoshop (or any program) reads or writes to disk, unused memory caches that data, muting any drive performance differences. This is clear from the test results for both the Mac Pro View and MacBook Pro View.

Photoshop CS4 has a 32GB and 48GB memory bug

When the Mac Pro is upgraded from 8GB or 16GB to 32GB of memory, Photoshop actually reduces the maximum memory it will allow. This shows up as slightly degraded performance on the diglloydMedium benchmark. However, on the diglloydHuge benchmark the extra memory used for caching greatly outweighs this minor impact, as compared to 16GB.

A 24GB configuration tried on the 2009 Mac Pro Nehalem shows no issues; the full 3072MB allocation may be specified.

The problem exists on all versions of the Mac Pro through Photoshop CS4 11.0.1. Perhaps Adobe will fix this problem in a future bug-fix release (over a year has passed since I write that, so I give up), and of course the arrival of a 64-bit Photoshop will make the issue moot.

With 32GB

With 24MB it’s OK for Photoshop to use 3072MB — but with 32GB memory, only 2810MB is OK?

With 32GB memory, Photoshop CS4 limits memory to 2810MB (instead of 3072MB)!

With 48GB

Why does a bug like this not get fixed, and quickly? This is with 48GB memory installed (six 8GB modules) in a Mac Pro Nehalem.

With 48GB memory, Photoshop CS4 limits memory to 2170MB (instead of 3072MB)!

With 64GB

Even a blind squirrel finds an acorn once in a while: 3072MB again!

With 64GB memory


Not a limitation of Mac OS X—to verify that this is a Photoshop anomaly (bug), I wrote my own 32-bit program to test this issue. I verified that with either a 16GB or 32GB configuration my program could allocate exactly the same amount of memory: 3480MB using 10MB chunks, or 3497MB using 1MB chunks, exactly the same figure with either configuration. So it’s hard to conclude that this Photoshop behavior is anything other than a bug.

Speed up opening and saving large files

Sometimes fast hard drives and ample memory still don’t help—it requires a change in software. Unfortunately, Photoshop CS4 still does not address key usability issues in basic areas, such as opening and saving files.

Opening and saving files is just as slow as in Photoshop CS4 as in CS3. In spite of the now-prevalent 2/4/8 core systems; opening and saving files still runs single-threaded, ignoring the available computing power. Even if this is due to a file format issue that requires single-threaded operation (unlikely), Adobe could have made the save/open operations non-modal so that work could continue on a different image while others are being saved and/or opened.

Uncompressed TIF files do occupy more space, but time is frequently more important the file size.

Why a fast hard drive or RAID might do nothing for open/save speed

With single-threaded open/save, Photoshop is “CPU-bound”, meaning that its running time is a function of CPU speed. In other words, if 95% of the time is spent computing, disk I/O that takes zero time can only speed things up by 5%.

Example: opening a 754MB test file took 14 seconds on a 4-way striped RAID, and 18 seconds on a single moderately fast hard drive (on my Mac Pro). The modest improvement reflects the CPU-bound single-threaded operation of Photoshop CS4.

Still, 18 vs 14 seconds is a 20% reduction, pointing out the value of a fast striped RAID, something far more cost effective than (for example) a 3.2GHz machine over a 2.8GHz machine, which offers only a 14% speedup. See How to Configure a Mac Pro.

Testing save speed with different file formats

A 5616 X 3744 pixel file consisting of four 16-bit image layers (pixel layers) was used for this test. This file saves as approximately 722MB uncompressed. This is just one example; the times can be expected to vary in similar ratios, but final compressed file size might vary.

File Format Time to save
File Size
File Size zipped later
PSD, slow drive (or fast) 48 348.1 n/a
TIF: ZIP/ZIP, slow drive (or fast) 59 450.6 n/a
TIF/uncompressed, slow drive 7.4 722.1 525.4
TIF/uncompressed, 2-drive stripe 3.5 722.1 525.4
TIF/uncompressed, 4-drive stripe 3.2 722.1 525.4

Photoshop is using only one CPU core for the save operation. The save can run only as fast as that CPU core, so hard drive speed has little influence. The 4-way striped RAID used here needs about 2 seconds to save a 722MB file. If that time were reduced to zero, then the 48 second save would still be 46 seconds—effectively the same.

If you must save as PSD or compressed TIF, then your only choice is to get faster machine eg 3.2GHz instead of 2.8GHz. That could cut down a 48 second save to about 42 seconds. Not so great for a $1400 premium.

Note that hard drive speed does matter for saving uncompressed TIF files; the time was cut by 56% in this example. Unfortunately, there is no option to tell Photoshop to not compress PSD files, so if PSD format is mandatory, you’re stuck with poor performance.


View all handpicked deals...

Sony X80K 75" 4K HDR Smart LED TV
$1198 $1098
SAVE $100 | Terms of Use | PRIVACY POLICY
Contact | About Lloyd Chambers | Consulting | Photo Tours
Mailing Lists | RSS Feeds | Twitter
Copyright © 2020 diglloyd Inc, all rights reserved.
Display info: __RETINA_INFO_STATUS__