Friday, January 23 2004

GarageBand resource usage

There are a lot of discussions about how GB seems to be a bit of a pig, especially compared to other applications that have much the same functionality (or, in the case of Soundtrack, include many of the exact same samples and features). So, naturally, I did some testing.

On my 15-inch 1.25GHz G4 PowerBook, with 1GB of RAM and the optional 5400 RPM hard drive, I can have at least a dozen software instruments playing at the same time, as long as no more than three of them are pianos.

In my testing this evening, I created an unplayable song that had eight software instruments: two drums, six pianos. Drop one of the pianos, and it pops up an error dialog and then continues to play some of the instruments. Drop another one, and it plays fine, although the display updates are sluggish. Add in four non-piano software instruments (specifically, a shaker, a triangle, a bongo, and an upright bass), and it still plays, although the display can barely keep up.

I was even able to add seven sampled instruments after that without creating a failure, although the display was hopeless and top claimed GB was using 384% of the CPU (when it finally managed to update). top also reported that GB had about 250MB of active physical memory and 450MB of active VM.

Obviously, in addition to the existing recommendations about CPU and disk speed, GarageBand users who are having problems need the following advice: “buy lots of RAM or cut back on those darn pianos!”

Oh, and an interesting note from my testing is that it wouldn’t let me have more than sixteen software instruments in a song, even if my system could support them. The error message was badly written, implying that I couldn’t add any more tracks, but it definitely meant “tracks containing software instruments”.

Definitely version 1.0, and an update is obviously needed soon (especially for improving how it interfaces with MIDI keyboards and audio input devices), but still worth playing with.

Update: passed this along to MacInTouch, after someone with the slightly-faster 17” PowerBook complained that it took forever to launch GB and open a song. The person who read my response asked me set the Energy Saver settings to “Automatic” and unplug the AC adapter. That actually worked fine, and didn’t affect load times or playability. Setting it to “Longest Battery Life” slowed down the launch and load times by maybe 15%, and stopped playback dead in its (17) tracks. And, unlike the earlier error dialog, this one clearly identified the processor performance setting as the culprit.

Oddly enough, when I went back to my standard high-performance settings, I was able to add another piano track without killing playback. I suspect there’s a memory management issue that is cleaned up by saving your song and restarting GB.

Update: The sixteen-software-instruments limit is configurable under the “advanced” pane of GB’s preferences. It’s currently set to “automatic” on my machine, and no doubt it auto-adjusts based on system specs. There’s also a tweakable “voices per instrument” setting, which may be the smoking gun in some of the dramatically different results people are getting on similar hardware: if the heuristic used by the “automatic” setting is flawed, it may be overestimating the power of certain hardware configurations.

Update: The guy with the sluggish 17” PowerBook has now reported that running the usual mix of disk-repair utilities (one of the most common solutions for odd OS X behavior) fixed his GB problems.