Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Where's the Bottleneck in Exporting, Also Slow to Launch?

Hi all,

I have a fairly powerful computer, an 8-Core 2.8GHz Mac Pro (Early 2008) with the NVIDIA GeForce 8800 GT, 4GB of RAM (4x1GB), a 750GB Western Digital 7200 RPM HD as the boot drive (swapped from my old Dual 2.0GHz G5, so it's still APM formatted), and the stock Seagate 320GB drive in bay 2, all running Leopard 10.5.6. The thing that still frustrates me is the speed at which Aperture exports photos. Granted, it's light-years faster than the G5 was, but it's still not fast by any stretch of the imagination. I regularly export scaled down JPEG's for uploading to the web, and all my masters are 10 MP Nikon D80 RAW files with various adjustments. I batch apply exposure recovery, enhanced saturation, definition, and vibrancy, and sharpening to all photos, regardless of any other adjustments. I try to use shadows/highlights sparingly, since I know that can double the export time, but this isn't the root of the question.

What I'm really curious about is, where is the bottleneck in the export process? It seems that something isn't working as fast as it could, because although Aperture uses all 8 cores during export, they're never close to maxed out. For example, if I export a series of photos to JPEG at a reduced pixel size, all cores will crunch at 70-80%, with Activity Monitor reporting Aperture at about 540-590%. At work I have the same generation computer, except it's the 4-core model with the Radeon HD 2600 XT, and the cores get just a little closer to max, with Aperture using around 300% of the CPU. Interestingly, if I export JPEG's but at the original size, the processor cores fluctuate between 400% and 600%, although the total time is pretty much the same.

The processor cores clearly aren't being utilized to their maximum potential, so where's the holdup? There's very little disk I/O during all this, so I doubt that's where the problem is. While doing these tests I had about 800 MB of free RAM, so the amount of available memory doesn't look like an issue either. The 8800 GT is a great video card, but I don't know of any way to measure its involvement in this. The only other thing I can think of is memory bandwidth. Even though I'm not really running out of RAM, could filling all the RAM slots pump more data through for the processors to crunch? If memory is the bottleneck, I could go from 4 to 8 GB, but it's actually quite a bit less expensive to get 2x2GB instead of 4x1GB. Would going with the 2GB modules and leaving 2 slots free not give the same benefit as filling them all? Or maybe Aperture is just way too dependent on the GPU (which is true), and that's the root of the issue. Any thoughts?

The other question has to to with launch time. With an empty library, Aperture opens up in just a few seconds. My library has 25,000 images, and it takes a good 20+ seconds before it's ready to go. I've tried all-managed and all-referenced masters, and that doesn't seem to make much difference. I've rebuilt the library, and tried the SqLite database optimization, and those didn't really make much difference either. It seems other people don't have this problem, or maybe they just don't think 20 seconds is too long, but are there any other ideas? Is there some way I can better use that second hard drive to help with this? Right now I'm just using it for some dead storage. I already went to two separate libraries, and while it does seem to help some, it's annoying to switch and I'm already running into situations where I want to use pictures in both libraries.

Thanks.

8-Core 2.8 GHz Mac Pro (2008), Mac OS X (10.5.6), 4GB RAM, NVIDIA GeForce 8800 GT

Posted on Feb 1, 2009 9:16 AM

Reply
6 replies

Feb 1, 2009 9:51 AM in response to JJakucyk

Aperture seems to have reasonable export throughput to me, what other software are you comparing performance to? Or is this more of an academic question, like why is the sky blue. If you want to give me some test results from your system like here are the specs of my RAW files, here are the adjustments, here is how many images, and here are the export specs, I would be glad to compare them to my machines to see if there is some sort of issue specific to your machine but other than that why do you want to know? Once you have the answer what will it change? The sky will still be blue when you know it's diffraction.

RB

Why is transferring data from one drive to another over sata so slow, I mean it takes like an hour?

Message was edited by: rwboyer

Feb 1, 2009 1:22 PM in response to rwboyer

I think it's pretty clear what I'm asking RB.

...could filling all the RAM slots pump more data through for the processors to crunch?...Would going with the 2GB modules and leaving 2 slots free not give the same benefit as filling them all?


If less than 100% CPU usage is "just the way it is" then fine, but if not I'd like to find a way to improve export speed since it's the biggest stumbling block in my workflow. Regarding lagging launch times, is that normal? And if there's a way to improve it...

Is there some way I can better use that second hard drive to help {improve loading}?

Feb 1, 2009 1:31 PM in response to JJakucyk

What the first thing you need to do is to figure out if your export performance is way worse than what others are experiencing. I offered to do that but you missed it. If it is than there may be something that can be done to significantly improve it. If it is about the same as people that have similar hardware configurations then I doubt screwing around is going to do much to improve your performance, you may get a percent improvement here and there but probably nothing dramatic in terms of export speed.

The big however is that I cannot tell from all of the info you provided whether you are just impatient or you have a performance issue - why? because I have no data like how many images, exactly what adjustments are on them, what kind of RAW files they are, and what format, size, etc you are exporting them to.

So since you did not seem to like my sarcastic brand of humor - there it is in a nut shell of info that I would need if you want something more than pure speculation.

RB

Feb 1, 2009 2:21 PM in response to rwboyer

I regularly export scaled down JPEG's for uploading to the web, and all my masters are 10 MP Nikon D80 RAW files with various adjustments. I batch apply exposure recovery, enhanced saturation, definition, and vibrancy, and sharpening to all photos, regardless of any other adjustments. I try to use shadows/highlights sparingly, since I know that can double the export time, but this isn't the root of the question.


Most of what you're asking for is right there. The values of each particular adjustment don't change the underlying issue, that something other than the CPU is the limiting factor. I timed an export of 20 images with the above settings (no shadows/highlights) and it averaged 2.7 seconds per image for a 1024x1024 max JPEG. Full size took 3.1 seconds, and the results for 8-bit TIFF's were the same as the equivalent pixel size as in JPEG. Add highlight/shadow and levels adjustments, and the times go up to 5.6 seconds for the 1024x1024 and 5.9 seconds for full size.

That doesn't sound like a lot of time, but most events I shoot end up having around 500 pictures to upload, which translates to 23-47 minutes of chugging, depending on the number of images that use highlight/shadows. While it's theoretically possible to keep working while exporting, Aperture just gets too unresponsive to make it worthwhile.

All that said, I don't really want speculation. I want to hear examples of hardware upgrades or other system changes that caused a corresponding improvement in Aperture performance. There's got to be some folks out there who added more RAM and then noticed "hey look, now all my cores are maxed out". Or perhaps someone did that and it had no effect, but changing video cards affected it. Or maybe there's something else I haven't thought of, but I can't imagine I'm the only one who's wondered "if Aperture can use all 2/4/8 cores, why can't it max them out too?"

Feb 1, 2009 2:43 PM in response to JJakucyk

The 3 seconds per 10mpix image sounds a bit slow to me but I will have to wait to get home and test it on similar hardware to tell you anything definitive. I found the 8800GT to perform much better than the ATI card that came with the machine - forget which one.

The only reason more memory will help is if something else is using it - which you state that it is not.

I just ran a test on my macbook pro with similar NEF files - (D2x and D200) and had very similar times to what you are experiencing - not bad but my feeling is that exports go faster on my Pro.

Something you could try - if you are making adjustments and then exporting them while previews are being built at the same time you may be having some contention issues and not getting the best through put. If you haven't tried it already you may want to turn "maintain previews" off for the project that you are exporting.

[Managing Previews|http://photo.rwboyer.com/2009/01/aperture-2-quick-tip-managing-preview s>

RB

Feb 1, 2009 3:18 PM in response to rwboyer

No issue there since I never use previews, and I usually watch the little status window to make sure even thumbnails are done generating before I start doing any real work (fortunately thumbnail generation is lightning fast).

The reason I suspect RAM is because there's definite benefits to having as many slots used as possible, at least in the Harpertown architecture. For the same reason that chips need to be installed in matching pairs to benefit from interleaving, having all slots full maximizes the data path and improves overall throughput by about 15%. [http://www.barefeats.com/harper3.html] However, if that's not what's going on with Aperture, then I'd rather not spend the money on more RAM right now.

Considering the huge throughput numbers on the Bare Feats page, maybe the video card is the limiting factor after all. While I haven't looked into it lately, I heard at one point that although the GeForce 8800 GT is significantly faster than the Radeon HD 2600 XT in nearly all 3D and OpenGL tests, they're actually fairly similar in Quartz and Core Image performance (where Aperture's processing is done), with the 2600 even beating the 8800 in some areas. My experience with both cards at home and work would seem to corroborate that, as Aperture and other 2D GPU-intensive operations don't feel all that much different between both computers. Still, I have no way to measure that for sure.

Where's the Bottleneck in Exporting, Also Slow to Launch?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.