SF Cable Car Route Llamas, Alpacas and Mutants Fall Colors Mardi Himal Trail Golden Gate Zabriskie Point Prayer Flags Sunset Chinchero at Sunset Annapurna South in the Early Morning Fish Market Cementerio de Trenes de Uyuni Night Cats Sunset From Moro Rock Very rare deserted street Half Dome at Sunset Machhapuchhre Sunset from Marshall Beach, SF Grafitti The Danube at Night Annapurna South Under the Stars Mardi Himal Trail Rolling Fog Prepping to FIght Boudhanath Stupa Sheepherders and Annapurna South Cumhuriyet Anıtı Phewa Boats Alamo Square Bluebird Skies Stars Over Annapurna South White Mountains Sunset Fog Rolling In Half Dome at Sunset Vocano Scarred Mountains The Golden Gate at Night Old Man in Siding Twilight Fog Market Flags Bodie Eastern Sierras Under Shadow Snow and Shadows Temple Statue Marin Headlands Sand Dunes Hong Kong from the Peak Bay Area Sunrise Yosemite Fall Leaves Monument Valley Green River Canyons at Sunrise The Blue Mosque Buildings and a Bridge Cropped Crosswalk Headfirst Pisac Hillside The Buttermilks Rooster Fights at Forest Camp Resting Zabriskie Point Photographers Annapurna South

Aperture Performance Problems

August 25, 2010 —

I'm a heavy user of Apple's Aperture. I enjoy taking photos and then use Aperture to organize and do basic touch-ups for those photos. Earlier this year, Apple released version 3.0, which had numerous enhancements (my favorite is localized adjustments) and compelled me to upgrade. Since that date, I've almost been extremely close to regretting my decision every time I opened the application. Version 3.0 added a bunch of new features, but something has been killing the performance on my brand new 15" MacBook Pro. When I have the latest hardware with 4 gigs of RAM, I shouldn't have to wait 10+ seconds to enter full screen mode or to view the next photo. There was absolutely no reason for this other than the updates to Aperture. The subsequent version updates (up to the recent 3.0.3 update) did nothing to alleviate my wait-times, they only squashed bugs I ran into.

Lately, I've been using Aperture more than ever because several recent trips I've gone on have left me with a ton of pictures to go organize. If it wasn't for the fact that I've got 8+ years of photos and associated metadata, I would have jumped ship months ago. I've tried all of Aperture's First Aid options (accessed by holding Option-Command when opening the app): rebuilding permissions (this shouldn't cause performance issues, but hey, I was desperate), repairing the database and finally resorting the the rebuild database option. I felt like the speed increased slightly after repairing the database and was optimistic that my problems were solved. Yet, I still had issues. I've been convinced that this has been a disk related as my memory and CPU are never loaded very heavily when I sit and wait for Aperture to do "stuff." I began to think I needed a 7200 RPM disk drive instead of my 5400 RPM drive just to use Aperture.

Finally, I found an article that talked about removing the old com.apple.Aperture.plist file in ~/Library/Preferences to gain back some performance. Today I decided to try that. But before I wiped the old .plist file, I went ahead and made a backup of it. All I can say is, whoa. That actually worked. Aperture is actually snappy again. It's ridiculous. I don't even remember when I last experienced a responsive Aperture interface. Since I had a before and after .plist file, I did some diffing to figure out what was going wrong. While viewing the diff, I removed some of the options that seemed like they had no way of contributing to the slowness (things like default window locations, background colors, etc). That left me with the following diff:

1a2,3
>    "" = "";
>    "61-2" = "2008-08-03T19:05:02Z";
2a5,6
>    "addCurrentSelectedVersions" = YES;
>    "allProjectsSortMenuTag" = 1;
18a23,27
>    "DotMacConfigurationDictionary" = { >    };
>    "DotMacConfigurationLastUpdate" = "2010-08-17T15:44:23Z";
>    "DotMacConfigurationLastURL" = "https://configuration.apple.    com/configurations/internetservices/iapps/publishConfiguration08.plist";
>    "ExportAttachmentsWithMastersKey" = YES;
19a29,32
>    FacesEnabled = NO;
>    fastBrowse = NO;
>    FileHandling = 1;
>    filesystemBatchSize = 10;
23c36
<        projectSortingMode = 0;
---
>        projectSortingMode = 1;
25a39
>    fullscreenAvoid = NO;
27c41,42
<    "fullscreenWhichWindow" = NO;
---
>    "fullscreenWhichWindow" = YES;
>    fullSizeJPEGQuality = 0.5;
35a51
>    icaBatchSize = 5;
43a60
>    "limitPreviewSubsample" = 1920;
46a64,67
>    mainSecondaryMode = 3;
>    "MetadataPresetSelectedPreset" = 0;
>    "moveCurrentSelectedVersions" = NO;
>    MUPhotoSize = 100;
48a70
>    primaryOnly = NO;
55a78,79
>    "showProjectVersionCount" = YES;
>    "showUnplacedImagesOnly" = NO;
56a81,83
>    subsequentLaunch = YES;
>    UseEmbeddedJPEG = NO;
>    ViewerPropertySet = 2;
64a92
>    "WebKitEnableFullDocumentTeardown" = YES;

Immediately, there were two things that stood out to me: fastBrowse = NO and filesystemBatchSize = 10 . Seeing as I felt there was a disk issues, I decided to test out the issue. I opened the current .plist file and added in filesystemBatchSize = 10 and opened Aperture. It didn't seem quite as slow as before, but it was noticeably slower for me. Now, I have no idea what the default filesystemBatchSize should be, but I do know that for me, removing it from the .plist file sped up Aperture considerably. I didn't do any objective measurements (ie. stopwatch tests), but so far, I'm not sitting waiting around hating Aperture for stealing my time. What is the take away here? If you are having issues with Aperture's performance, make a backup of your Aperture preferences .plist and delete the one in ~/Library/Preferences to try and get some improvement.