Living Photoshop

September 12, 2007

Photoshop World - Heavy Lifting

Well, another Photoshop World come and gone.  This year Adam Jerugim and I did a presentation on setting up a machine for doing very large file work.  Thank you again to those who attended - we were up against some interesting stuff.  I know I promised to have this entry up on Monday, but I've been struggling with getting PowerPoint to let me extract the information in a good way.  I'll probably have to update this entry a couple more times as I figure out how to get what I want pulled out.

I wanted to call out a couple of things that are currently buried in the speaker notes, and I'm not sure if I got them across appropriately.  First, setting Photoshop's memory percentage to 100% only makes sense if you've got more than 4GB of RAM in the machine, and again, only if you haven't run into trouble running the filters you need that way, and are on CS3.  We've improved our ability to back off in the case that the machine we're on starts to page every version.  However, it's still important to watch that free RAM (or, in the case of Vista, the amount still being used for the system file cache).  It's important that you watch what's going on on your system when pushing things to their limit.  If you're regularly seeing free memory (or the amount of free memory + system cache on vista) go below 20MB, it's time to back off that memory percentage setting and try again.

Someone had asked a question at the end about RAID types, and I wanted to repeat that here - for fastest performance, RAID 0 with 2-6 drives for the Photoshop primary scratch disk is the fastest way to go, but isn't a good place for storing files unless you're going to back them up very frequently (daily?) to a big server on the network.  RAID 0+1 or RAID 5 would add in the reliability at some cost in performance or the need for additional drives.  We still need to measure which of those is the best way to go.  It'll be about throughput.

So, here's the current version of the presentation.  The animations don't come across, and I still have to go through the speaker notes and clean them up and get a good export of that.  Hopefully within the next day or so, and I'll update this post.

psworldperformancepresentation_export

[Update: I meant to get the version of the presentation with extended notes up before my travels, apologies for not getting that done.  I'll get that up and catch up on the comments when I return in October. -Scott]

[Update: Sorry this took so long, but PowerPoint and I had to come to an, um... understanding.  So below is the link to the annotated version of the presentation, with all slide builds manually exploded apart so that they are actually usefull. -Scott]

PSWorldPerformancePresentation_Expanded

Posted by Scott Byer at 05:01 PM on September 12, 2007

Comments

Dave Story — 11:10 AM on October 17, 2007

Scott, Adam, very well written. It's not easy to walk folks through all this stuff. Would be nice to see how much improvement the various systems you recommend actually yield, in time sense.

I think it's also useful to just explain to folks how much more complicated it is to manage the kinds of systems we have these days, when dealing with images that are in the very large range.

Dave


[Thanks, Dave! We did have a couple of graphs buried in the middle there. We'll also be working on a white paper where we'll be diving a bit more into details, and we'll see if we can have more numbers in there. That's also where we'll get more into the complexity of these things. -Scott]

Tived — 01:11 AM on October 27, 2007

Wow, first time I have read such a well written and balanced article, on this topic.
My hat off for you both.

I do retouching for other photographers, so to me the performance of the computer is very important and every bit of juice I can squeeze out of it, is time saved. I am currently using PC/windows xp x64.

I have found it really difficult to find good information on the topic of photoshop performance, and have over the years played with various configurations. I am looking for ways to improve or eliminate the system bottlenecks. However, I have also come to conclude, that, the best performance increase is in the workflow :-) not in the computer itself.
(you can leave this out if you wish)
The boring bit, the system
Windows XP x64 and Adobe CS3 Design Premium
custom build locally (almost 2years ago)
Tyan S2895 mainboard
Dual Opteron (Dualcore) 285 2.6Ghz, 8gb of ram
2x nVidia Quadro FX 3400
9x scsi hard drives 36-300gb 10-15k rpm
currently connect to an Adaptec 2120S RAID controller PCI-X.
I have my OS on a RAID0 partition on a pair of Fujitsu 147gb 10k, but still very fast
and I have a scratch disk, made up by 3x 73gb 15k seagates 15.4 the rest is JBOD + plus back up disks - for major backup I have an HP DL385 with a HP MSA-500 a 14 scsi disk array in raid6.

I am starting to wonder if Adobe, is writing better code for the Mac's or that the Mac's OS is giving the application better memory management and more of it, then windows is.
I have available to me, on various machines windows XP x32, x64, Vista x64 and server 2003 x32, though I have not been running PS on my server, yet! but if server 2003 has better memory management, allowing PS or CS collection to utillise the memory better, then that is certainly an option.

My apology if I have gone outside the topic. I just got very excited to read the topic

thanks for sharing

Henrik Tived
A Dane in western Australia

[You are welcome. That is certainly one killer setup. I agree on the workflow sentiment. "Less time between fewer clicks" is how I like to characterize performance, to make sure and capture that. - Scott]

Steven Bland — 05:58 PM on November 01, 2007

I am the type that likes to know what is going on in my system and thus am always monitoring . . . well, everything. Most users are not like us though.

Why not implement an "Adaptive Memory Management" OPTION where Photoshop makes intelligent decisions based on known factors like: Memory installed, memory available at Photoshop startup, and of course "has the free mem gone below 20MB" during the current session. When this option radio button is checked, Photoshop could dynamically change the memory setting such that the next time it is launched it is running more optimized.

What do you think?

Steven Bland

[Actually, much of that is already built-in. We watch for a few things and do indeed back off dynamically - no restart needed - if we see the system paging. As with any such system, it's not an immediate adaptation, and naturally doesn't capture the same level of performance as avoiding the paging situation in the first place. Note that on Vista, free memory often ends up at near zero with the super aggressive file caching it does, so watching for non-resident pages in our address space is the only proper measure we have. -Scott]

gantico — 01:56 PM on December 17, 2007

thank you for your great guide, it opened my eyes for a better comprehension of things behind Photoshop's performances.

I guess that a PC with 4 separate disks would be the best option (one for OS, one for OS paging file, one for Adobe scratch file and one for project files), but I wonder what would you recommend in case of a Pc with 3 disks:

A)
disk 1: OS + OS paging file
disk 2: Adobe scratch file
disk 3: project files

B)
disk 1: OS
disk 2: OS paging file
disk 3: Adobe scratch file + project files


thanks
Giovanni Antico

[Option A. Keeping the OS, paging file, and applications on a single drive is fine since once the machine is booted there isn't much contention for disk I/O among those three things. Having the project files on a separate disk from Photoshop's primary scratch can help speed the loading of really large files. -Scott]

joshbond — 08:06 PM on January 05, 2008

Scott, I hope to one day meet you.

josh

[I'll be at Photoshop World in Orlando. Adam and I will do our presentation again, updated some. -Scott]

BillThompson — 06:56 PM on January 22, 2008

Anyone else doing over 5 gig images with CS3? I am working with enormous photomerge files using 30-60 leaf images assembled. Have new intel 2x3 dual core with 8 gigs of ram which is what I was told would be the best system I could presently get.

[That's an excellent start, I'd really recommend getting at least a 4 drive RAID 0 set up as Photoshop's primary scratch- because you will run out of address space doing that kind of operation, and scratch file performance will end up being the bottleneck. Given that you're also loading lots of large images, having four drives in a RAID 5 or RAID 0+1 configuration for those files would help a heck of a lot as well. -Scott]

Bruce — 09:25 PM on February 28, 2008

A very nicely written post and thank you for the tip on memory usage for photoshop. I am using Vista and will give this a try.

Thank you for signing in, You may now comment. (Sign Out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Add your comments

Remember Me?

(You may use HTML tags for style.)