32 Ways To Speed Up Aperture

Jellyfish: 1/20s f/2.8 ISO1250 @55mm, Canon 30D, Canon EF-S 17-55mm f/2.8, adjusted, cropped
I've put together what I think is a comprehensive list of ways to speed up Aperture. Some are quick, some are cheap, some are neither.
Get A Faster CPU Or More CPUs
Up to a point more GHz and particularly more CPUs will speed up Aperture. I say up to a point because there are diminishing returns as processors are added. And because CPU speed is secondary to GPU speed. Which brings me to...
Get A Faster Graphics Card
Aperture is very GPU-intensive. If you are buying an iMac, get the fastest graphics option you can, and get the most VRAM you can. If you have a Mac Pro, then configure it with fastest graphics card option find with the most VRAM. When you have your card...
Plug The Graphics Card Into The Fastest Slot
That's going to be a 16x PCIe slot on most machines. Second best is an 8x slot. If you have two graphics cards then put the fastest one in the fastest slot. And to run two screens with Aperture...
Connect Both Screens To One Video Card
It's much faster to drive both screens from one card because the CPU only has to transfer the data once to the card to have it available on both screens. And also because that one card will be in the fastest slot. But even if you have two screens you can make things faster ...
Use The Smallest Screens That Are Useful
Yes a 30" Cinema display is very nice, but you will get more speed out of 23" simply because there will be fewer pixels to process. Another reason for smaller screens is that the larger the screen, the more VRAM is used, and so the less that is available for cached images and the slower the overall performance. Or if you don't need the second screen...
Use Just One Screen
One screen will be faster than two for all the reasons that apply to using a smaller screen.
Add More RAM To Your Mac
Running Aperture on a machine with less than 2G of DRAM is asking for slow. Consider 3G a minimum, particularly if using RAW.
Get A Faster Hard Drive Or Use Striped Hardware RAID
A faster hard drive will have some impact on the speed of Aperture, but not as much as you might expect. The fastest set-up will have internal or eSATA drives running in a striped arrangement so that data can be read from both drives simultaneously. Hardware RAID will ensure that writing is fast as well.
Make Sure You Have The Latest Version Of Aperture
Each release has run faster than the previous one, so be sure you are up to date. While you are at it...
Install Leopard
While Leopard does appear to have some odd problems for some Aperture users, it also runs faster and smoother. At some point Aperture will be optimized for Leopard, not just compatible with it and we'll see a big speed bump.
Set Processor Performance On Fastest
Older PPC machines and some laptops have a setting in the Energy Saver preferences to run the processor at different speeds. Select the Fastest setting.
Plug Your Laptop Into The Mains Power
I'm guessing here (since I don't have a laptop), but it is normal for laptops to run faster when plugged into mains power since they have no need to conserve power drain. Speed throttling when used on battery includes the GPU these days, so will have an impact on Aperture.
Turn Off Spotlight
If you have images on a drive or partition separate from your boot disk, disable Spotlight for that drive. This will prevent the OS from attempting to index and reindex the library and its images and will make things a little faster.
Reindex The Aperture Database
Each library has an SQLite database that exists to speed up access to all the images and metadata. Over time the index for this database gets fragmented and so is slower. So about every month or so, it is worth forcing that index to get rebuilt (see Applescript here). It takes a few minutes and can have dramatic results. It's much faster than if you...
Rebuild The Aperture Database
By starting Aperture with Option and Command held down, the database will be rebuilt. This can take a few hours because Aperture has to read all the files in the library to collect all the data and store it in a new database. But it can work miracles.
Turn Off Previews
Generation of high resolution previews can eat up a lot of processing capacity as well as disk space. If you don't need them, then turn them off and delete them. Thumbnails up to 1024 pixels are always generated, so there is nothing you can do about that.
Turn Off Sharing With iLife
Sharing previews with iLife uses an XML file that is regenerated when Aperture quits. This can take a long while if there are a lot of previews, so by turning off iLife sharing quitting can go faster. You will find the setting in Aperture's preferences.
Turn Off Anti-Virus
Anti-virus software is invasive and very resource-hungry. Turn it off for a dramatic improvement in speed.
Make Changes To The Keyword List With No Thumbnails Showing
In some circumstances changing the keyword list -- things like renaming or rearranging the keywords -- can go extremely slowly. These delays can be almost completely eliminated by ensuring that the browser is not showing any images when the keyword list is changed.
Use A Small Viewer
Since thumbnails are generated at 1024 pixels size, using a viewer that is equal to or smaller than that can give some speed up. The thumbnail is almost identical to the processed RAW image, so many decisions can be made immediately without having to wait for the full image to load.
Turn Off Automatic Version Generation For Adjustments
Aperture has a peculiar option in its preferences that make it generate a new version every time a slider is moved or a button clicked on the adjustments HUD. This makes things very slow since Aperture generates thumbnails for each of these versions. Turn that option off.
Use A Firewire Card Reader
Most card readers are USB and USB is not particularly fast. Firewire card readers can run at more than twice the speed, especially if using several of them at once.
When Adjusting, Crop First
That might seem like odd advice, but cropping first results in fewer pixels that must be calculated and displayed and hence faster operation. Since this is Aperture and the workflow is non-linear the crop can be adjusted at any time if you are not happy with it.
Turn Off All The RAW Fine Tuning Settings
The RAW Fine Tuning settings are all turned on by default. You may not actually need them, and if you turn them off you will find that RAW processing is quite a lot faster. You can do this by changing the settings on one image and then using lift and stamp on the others.
Don't Display The Histograms
Calculating the histograms takes time and computing resources. Turn them off if you don't need them, or hide the whole adjustments panel or HUD if they are not in use. The cog menu on the HUD gives control of the histograms.
Use Slow Adjustments Last
The Highlights, Shadows, Straighten, and Spot tools are notoriously slow. So after cropping first, do everything else except those next and finish up with the slow tools.
Don't Use Full Text Search
Aperture's full text search will do a linear search of all the text available, including captions. This makes it very slow for large libraries. Instead use a limited text search if you can. A limited text search only searches text that is indexed by the database, so is much faster. Change the setting by clicking the magnifying glass in the search box.
Don't Fill Disks To Capacity
A consequence of the constant rotational velocity of hard drives is that data close to the edge of the disk can be read and written at twice the speed of that close to the spindle. Disks are filled from the outside inwards because this gives the highest data rates for the first data written to the disk. As disks are filled to capacity, the data rate slows, so fill disks only to 50% to 75% capacity for best performance.
Keep Projects Small
Small projects are faster to work with in Aperture, probably because the opportunity for caching images and database information is greater. Less than 1000 images is a good rule of thumb. Use blue folders to combine small projects into larger groups for easier management.
Use JPEG Images
JPEG images are much faster to work with in Aperture than RAW or TIFF. Rather than use RAW for everything, use JPEG where you can get away with it. Either shoot JPEG or RAW+JPEG, or just get the levels right with RAW, export as JPEG and reimport for all the remaining operations.
Use Smaller Images
Smaller images are processed faster than larger images. So unless you need the pixels, don't put them into Aperture in the first place. Shoot at less than the camera's maximum resolution, or export and reimport JPEGs at a smaller size.
Delete Aperture's Preferences File
Some weird slow-downs and delays are cause by corrupted application preferences. you can rid yourself of these by removing the preferences file and restarting Aperture.
Did I miss any?
Speed Up Aperture By Rebuilding The Database Index

Everyone is excited about the discovery of using the sqlite vacuum command to rebuild the index for Mail.app. Well the same trick works for Aperture. Rebuilding the library database indexes is much faster than rebuilding the entire database. While probably not as effective, it does improve the speed of Aperture, especially for heavily-used libraries with a lot of deleted images.
Here is the script. You can download a ZIPped version from the download page or paste the text below into Script Editor. Be careful of the single- and double-quotes getting modified in the process. They are all straight quotes.
tell application "Aperture" to quit
set new_file to choose file with prompt "Select Aperture Libary to compact its database"
set libname to (POSIX path of new_file) & "Aperture.aplib/"
set dbname to libname & "Library.apdb"
set sizeBefore to do shell script "ls -lah " & (quoted form of libname) & " | grep -E 'Library.apdb$' | awk {'print $5'}"
do shell script "/usr/bin/sqlite3 " & (quoted form of dbname) & " vacuum"
set sizeAfter to do shell script "ls -lah " & (quoted form of libname) & " | grep -E 'Library.apdb$' | awk {'print $5'}"
display dialog ("Database before: " & sizeBefore & return & "Database after: " & sizeAfter & return & return & "Now try it out!")
After prompting to select an Aperture library, it runs for a while (up to a minute on large libraries) and then shows a dialog box comparing the size of the library database before and after processing:

Let me know how much it helps.
Custom Keyboards Marked With Shortcuts

LogicKeyboard is selling keyboards with keycaps designed specially for Aperture. They also have versions for many other pro applications. You can buy complete keyboards or key cap sets.
Aperture 1.5.1 On The 24 Inch iMac
Here are some more observations from running Aperture on the 24" Core 2 Duo iMac for a few days.
Importing is very fast. I think it is faster than the roughly four times speed up I have been seeing in other areas. I plug in my card into the reader and the image thumbnails fly onto the screen at a rate of twenty a second or so. This is probably not all Aperture: it could be just that USB is faster on this machine. Once I press the Import button they are copied into the library at about four times the speed of my G5 iMac, appearing in groups of about twenty. Previously only four or five would appear at the same time.
In full screen mode or if I click on the image in the viewer the scroll ball on the Mighty Mouse flicks through images instantly as I roll it up and down. If I stop, there is about a second before the full-resolution image appears.
Straightening images is still slow, but not as slow as with the G5. If I add adjustments and then straighten it is very slow, so I think I will be straightening first.
A smart album that filters the entire library of 20,000 images takes about 6 seconds to fill the screen with thumbnails. Pressing F to go to full screen takes a second or less.
Creating a web gallery from 335 images takes about three seconds. A smart album of 70 rejects for the whole library appears immediately. It takes about 8 seconds to delete all of them. And album of 660 images takes about two seconds to appear. Books take about two seconds to appear. Autostacking is now usable, stacking in real time and taking about two seconds to fully display all the images.
Zooming on images is limited to five, the same as my G5 iMac.
A full text search for the word "hello" on 20,000 images takes about 38 seconds to return an empty result. Doing the same thing with a limited search for the word "keep" returns three images in four seconds. That big difference is because the full-text search is linear, while the limited search uses the database.
Importing is very fast. I think it is faster than the roughly four times speed up I have been seeing in other areas. I plug in my card into the reader and the image thumbnails fly onto the screen at a rate of twenty a second or so. This is probably not all Aperture: it could be just that USB is faster on this machine. Once I press the Import button they are copied into the library at about four times the speed of my G5 iMac, appearing in groups of about twenty. Previously only four or five would appear at the same time.
In full screen mode or if I click on the image in the viewer the scroll ball on the Mighty Mouse flicks through images instantly as I roll it up and down. If I stop, there is about a second before the full-resolution image appears.
Straightening images is still slow, but not as slow as with the G5. If I add adjustments and then straighten it is very slow, so I think I will be straightening first.
A smart album that filters the entire library of 20,000 images takes about 6 seconds to fill the screen with thumbnails. Pressing F to go to full screen takes a second or less.
Creating a web gallery from 335 images takes about three seconds. A smart album of 70 rejects for the whole library appears immediately. It takes about 8 seconds to delete all of them. And album of 660 images takes about two seconds to appear. Books take about two seconds to appear. Autostacking is now usable, stacking in real time and taking about two seconds to fully display all the images.
Zooming on images is limited to five, the same as my G5 iMac.
A full text search for the word "hello" on 20,000 images takes about 38 seconds to return an empty result. Doing the same thing with a limited search for the word "keep" returns three images in four seconds. That big difference is because the full-text search is linear, while the limited search uses the database.
This is Why Aperture Uses the GPU

An article at Wired News explains how raw processing power is moving to the Graphics Processing Unit (GPU). For Aperture and for the Mac in general this is good news: image processing is handled by the GPU where ever possible and increasingly any parallelizable math will be too. Future hardware will see tremendous gains in performance beyond CPU speed increases.
There is a technical article about NVidia's Geforce 8800 at EETimes. The design of graphics processors has moved from being hard-coded to configurable to programmable to now to fully programmable -- a C compiler is available. At 681 million transistors it is one of the largest chips ever made, bigger than the biggest CPUs by several times.
Aperture Performance
Two recent articles related to performance:
Bare Feats stacks three Macs in a total of five configurations against each other. The tests they run are Lift and Stamp, Remove Adjustments, and Export Web Log. Check back at Bear Feats for more articles.
Adam Tow delves into the guts of Core Data and the SQLite database that underlies the organization of the Aperture database. He has some theories and discussion about the spinning pizza of death we have seen so often with Aperture.
Bare Feats stacks three Macs in a total of five configurations against each other. The tests they run are Lift and Stamp, Remove Adjustments, and Export Web Log. Check back at Bear Feats for more articles.
Adam Tow delves into the guts of Core Data and the SQLite database that underlies the organization of the Aperture database. He has some theories and discussion about the spinning pizza of death we have seen so often with Aperture.
Radeon X1900 Available For G5 Macs With PCI Express
There is finally a fast graphics card available for owners of PowerMacs who didn't include the 7800 upgrade with their purchase. The conundrum was that the 6600 card was dog slow with Aperture and there were no other cards available unless you could find a PC card that had been reflashed to make it into a Mac card.
This new card is specific to owners of PowerMac G5 with PCI Express (PCIe -- the serial standard), not PCI-X (PCI-Extended -- the parallel standard).
Price is $349 for the 256MB GT version. Part number is 100-435854.
This new card is specific to owners of PowerMac G5 with PCI Express (PCIe -- the serial standard), not PCI-X (PCI-Extended -- the parallel standard).
Price is $349 for the 256MB GT version. Part number is 100-435854.
Recover 800MB of Disk Space
When I installed Aperture I also included the Tibet installation so I would have something to play around with. Not only did Aperture create an 800MB library for me, it also added a file called Tibet.approject in Application Support which is also 800MB in size. I had since trashed the library I was playing with, but only recently discovered the extra 800MB project sitting there.
An easy way to find this and other unseen Aperture project files is to open the boot disk and type "approject" in the search box.
A handy tool for finding where gigabytes have been consumed is a Java tool called JDiskReport. Let it run on your disk and it will graphically show you what the big hits are.
An easy way to find this and other unseen Aperture project files is to open the boot disk and type "approject" in the search box.
A handy tool for finding where gigabytes have been consumed is a Java tool called JDiskReport. Let it run on your disk and it will graphically show you what the big hits are.
Rebuild Your Aperture Library
I rebuilt my Aperture library today, and you can too.
It's easy to do: Quit Aperture, hold Option and Command and launch Aperture with a double click on the application icon. Answer the dialogs to allow the rebuild.
14,000 images took about half an hour. Now selecting Projects, selecting Smart Albums, scrolling, everything is much faster than it was. My guess is that this rebuild redoes all of the files that reference the structure of the projects and their contents. This makes the accesses sequential and uses files that have been defragmented, so speeding what I see.
I'm waiting a while on installing 10.4.7, but have heard that it improves Aperture as well.
It's easy to do: Quit Aperture, hold Option and Command and launch Aperture with a double click on the application icon. Answer the dialogs to allow the rebuild.
14,000 images took about half an hour. Now selecting Projects, selecting Smart Albums, scrolling, everything is much faster than it was. My guess is that this rebuild redoes all of the files that reference the structure of the projects and their contents. This makes the accesses sequential and uses files that have been defragmented, so speeding what I see.
I'm waiting a while on installing 10.4.7, but have heard that it improves Aperture as well.
Speed Up Aperture A Little
A simple way I have found to speed up Aperture for many operations is simply to work with smaller projects. So I have an Import project and import only into that. After the images have been processed (culled, rated, keyworded, etc.) I then select all of them and drag them to my month project. That moves the Masters to the month project.
Within the Import project I can filter by import session to make the number of images more manageable. The speed-up of a smaller project is quite noticeable: much less spinning cursor and other delay.
Within the Import project I can filter by import session to make the number of images more manageable. The speed-up of a smaller project is quite noticeable: much less spinning cursor and other delay.
The Bagelturf site welcomes Donations of any size