My previous column "Speeding Up Photoshop" described how I cut my times for memory-intensive Photoshop operations, like panorama building, by 25–30%. The key was putting the fastest hard drive I could find (the Hitachi 320 GB 7200 RPM drive) in my Macbook Pro and using the very fast Other World Computing (OWC) Mercury Elite-AL Pro 750 GB eSATA drive for scratch.
Recently, OWC released a 4 GB memory module that let me kick my RAM up to 6 GB. The memory module is state-of-the-art and so costs $200. It's worth it!
Coincidently, our friend Lloyd Chambers launched a new website loaded with useful tips for improving Photoshop performance. Our results were largely consistent, although he is running Photoshop CS4 under Mac OSX 10.5 and I'm still running Photoshop CS3 under MacOS X 10.4. Whatever you're running, you should benefit from upgrades like these.
Photoshop CS3 (Win/Mac) and CS4 (Mac) can use three quarters of a gigabyte of RAM between 3 GB and 4 GB as additional working space for plug-ins and any free RAM above 3 GB as scratch space in preference to the scratch hard drive. Lloyd's "Medium" benchmark generates a 16 GB scratch file and my panorama test generates a 23 GB file. An extra 2 GB of RAM doesn't seem like much compared to that, but as we will see, 2 GB makes a huge difference.
Maximum performance requires three Adobe Photoshop plug-ins: "DisableScratchCompress," "Bigger Tiles," and "ForceVMBuffering." DisableScratchCompress may not make much of a difference if you have a fast hard drive, but it won't hurt. Bigger Tiles instructs Photoshop to process data in larger chunks. On my system, Lloyd's medium benchmark clocked in with an abysmal 900 seconds without that plug-in. Adding a plug-in cut the time to a little over 400 seconds, putting it in the middle of Lloyd's test group.
I shouldn't have needed ForceVMBuffering, according to the technical notes. Photoshop CS3 and MacOS 10.4.11 should be using the RAM as scratch space when it's available. My initial test results, though, showed no performance gains with 6 GB of RAM. Lloyd suggested this plug-in might solve the problem, and it did. I recommend installing it unless you're positive that Photoshop is making use of all your RAM. The only disadvantage of running it is that other applications will become sluggish, because the OS will have to swap code blocks when other apps need memory space.
Even with 4 GB of RAM, ForceVMBuffering made a difference: Lloyd's benchmark time dropped to 275 seconds. With 6 GB of RAM, it was an astonishing 220 seconds. That's better than any configuration that Lloyd tested, and almost twice as fast as the no-VM-buffering time.
Panoramas like these eat up a lot of time. They are not only computationally intensive, but Photoshop generates a scratch file approximately equal to the final size of the panorama multiplied by the number of photographs you're merging.
How could my system, with a slightly slower computer, slightly less efficient OS and application, and a much slower scratch drive perform better than Lloyd's? Part of the answer lies in the effect of RAM buffering. Without it, Photoshop was doing a high level of scratch drive reads and writes. With it, Photoshop still wrote a 16 GB scratch file, but reads dropped to zero. All the data that Photoshop actually needed to run Lloyd's benchmark was being held in RAM! That's why performance jumped so amazingly; it made scratch drive performance much less important.
The unanswerable part has to do with the fact that data flow in computers is not simply the sum of the components. It is a complex choreograph of competing data resources and demands, and much of it is beyond your obvious control. Apparently my laptop's configuration is very well balanced. Lucky me! Your mileage may differ, mine certainly will on my next machine.
Things as simple as rearranging partitions and workspaces on multi-drive systems can make a profound difference. I tripled DVD burner speeds on my four-drive Windows box merely by optimizing which drives held the system, system cache, applications, data files, and application scratch space.
How did panoramas fare? On the 4 GB system, without RAM buffering, my test took 550 seconds to run, and disk reads were persistent and intensive. Installing ForceVMBuffering dropped the time to 510 seconds. 6 GB of RAM got me a 430-second time. That's a reduction in time of 20%, on top of the improvements my previous upgrades gave me.
Scratch reads dropped to a moderate level. With more RAM to buffer the data, they would have probably dropped to essentially zero, as with Lloyd's benchmark. That might yield as much as another 20% improvement. Lloyd notes that it appears that Photoshop can make use of RAM above 8 GB for buffering, at least with CS4 and Mac OSX 10.5.
My system upgrades, collectively costing approximately $500, have roughly doubled my speed on the most time-intensive Photoshop operations. My machine outruns any stock Macbook Pro, no matter how expensive or recent.