With the introduction of Jaguar, OS X became the first Macintosh operating system to incorporate audio and MIDI at the system level. OS X's Core Audio and Core MIDI architecture, along with its new Audio Units (AU) plug-in format, offered increased performance and lower latency. The 2003 release of Panther raised the bar another notch, delivering new features, including multichannel audio decoding; Fast User Switching; Exposé, an improved window manager; and overall faster operation. For the desktop musician, Panther is almost as big an advance over Jaguar as Jaguar was over the first version of OS X. Many of the differences between Panther and Jaguar are at the system level, in the Unix underpinnings of the operating system. That is evidenced by the lack of compatibility of OS X's Unix-based utilities — many of which had to be rewritten for Panther. On the other hand, optimizing OS X for audio and MIDI applications is similar for Panther and Jaguar and consists mostly of maximizing Core Audio, Core MIDI, and AU performance — sometimes at the expense of other OS X features that are not critical for music production. I applied the techniques discussed in this article to Panther (10.3.4) and Jaguar (10.2.8) on single- and dual-processor machines. You'll find a benchmarked summary of the results at the end of this article.
Jaguar and Panther are more robust than OS 9 in several ways. Preemptive multitasking allocates CPU cycles more efficiently among simultaneously running applications. When one application crashes, protected memory helps prevent the system and other applications from crashing. Automatically scheduled daily, weekly, and monthly maintenance routines help keep things tidy. But those and other features make it harder to channel the computer's resources to a specific, high-priority task. Attention to detail and a tune-up can significantly increase DAW performance while retaining the many benefits of OS X.
From an optimization standpoint, one critical difference between OS X and earlier Mac operating systems is the sheer quantity of data that the system requires. A full install of OS 9 is roughly 250 MB, whereas a full install of Jaguar requires 2.2 GB. Panther weighs in at a whopping 3.1 GB — about 12 times the size of OS 9. Roughly 2 GB (or two-thirds) of the usual Panther installation is, for most of us, unused baggage. For example, it includes more than 700 MB of printer drivers and more than 860 MB of languages and fonts.
The best way to build a system optimized for digital audio is to start with a custom install of the basic system software, together with the BSD (Berkeley Software Development) subsystem. BSD is a Unix structure that has been incorporated into OS X. It is one of OS X's hidden strengths because it is through the BSD subsystem that OS X's Unix features can be accessed and modified.
If you are installing Jaguar or Panther for the first time, do a custom install. When you reach the Installation Type window, deselect all of the options except for BSD Subsystem (see Fig. 1). If you are reinstalling the same version of OS X that is already installed, select the options Archive and Install, Preserve Users and Network Settings, and then do a custom install of the basic system software and BSD subsystem, as just described.
If you are upgrading from Jaguar to Panther and you have installed many Unix-specific applications, do an Archive and Install but omit Preserve Users and Network Settings, because the preferences for many Unix-specific applications as set for Jaguar can wreak havoc in Panther.
After you've installed the desired version of OS X, use the Software Update application (located in System Preferences and in the Apple menu in Panther) to install the latest OS upgrades (10.2.8 for Jaguar and, as of this writing, 10.3.4 for Panther). Use the Disk Utility application (in the Utilities folder) to repair permissions. (You should repair permissions after installing any software in OS X.) Finally, move items from the archived folder to the new User folder. Beware of old preference files and move only those for applications that play well with both systems. You can get printer drivers from three sources: the printer manufacturer's Web site, the installation CD-ROM that came with the printer, or Disc 2 of the OS X installation CDs. Because using the OS X installation CD will force you to install all the drivers for the given manufacturer, the Web site or a current CD-ROM from the manufacturer are preferable sources. If you install from the OS X CD, select and open Packages when the disc icon appears on your desktop, and install the package for your printer manufacturer. Typically that will install 40 to 50 drivers, totaling approximately 250 MB of data. If you delete the unneeded drivers, be sure not to get rid of the USB and FireWire drivers; the PAP.plugin; and the Help, Libraries, and Utilities folders (if any) that are installed with the drivers. Additionally, you can install more languages and fonts from disc 2 of the OS X installation CDs.
The next step in streamlining OS X is to set up two User accounts: a DAW account for music and a Main account for all other computer activities. That allows you to keep the DAW system as lean as possible while retaining OS X's convenience features for everyday use. For example, you can relocate all but essential fonts to the Main account, where they can be used in text-based applications without clogging up your DAW account. (If you have a computer dedicated to your DAW, setting up two accounts is not necessary.) Diablotin (http://s.sudre.free.fr/Software/Diablotin.html) is a freeware Preference Pane that performs a similar function to the old OS 9 Extension Manager. Diablotin displays separate drop-down lists labeled Contextual Menu Items, Fonts, Internet Plug-ins, iTunes Plug-ins, Screen Savers, Sounds, Preference Panes, QuickTime, and Startup Items (see Fig. 2). Unless you're an OS X power user, the last three are best left unmodified. The others, however, are fair game. I'll cover managing fonts as an example, but the same rules apply to any of the other lists.
Fonts in Diablotin's Font list are organized into three columns: the font name, an icon showing the font's location, and a checkbox displaying its status, with checked boxes indicating active fonts. Initially only fonts in the Local and User libraries are shown, but checking the Show System Library Items box at the bottom of the Diablotin control panel will reveal fonts in the System/Library/Fonts folder as well. Only fonts in the User Library can be changed without clicking on the lock icon at the bottom-left side of the control panel and entering the administrator's name and password.
Unchecking a font in Diablotin's Font list moves the font to a folder named Fonts (Disabled), which is in the same Library folder as the folder that originally held the font. (You can create such folders and move fonts manually rather than use Diablotin, but having a single tool for managing all of your Library items is convenient.) If disk space is critical, you can archive or delete the folders of disabled items — otherwise it's handy to keep them available for future changes.
FAT CAT DIET
To keep fonts from cluttering the system when the DAW account is active, use Diablotin to disable all fonts in the Library/Fonts folder that you don't need in your music applications. Next, drag all those fonts from the Fonts (Disabled) folder to your User/Main/Library/Fonts folder (see Fig. 3).
One thing to keep in mind before proceeding is that items in the Local Library are always available to all applications, whereas items in a user Library are available only when that user is logged in. You should therefore be careful when moving fonts that are used by applications in the Local area from the Local Library to a user Library; those fonts won't be available when the user is logged out, but the applications requiring them will still be there. You also should be careful not to disable fonts needed by the system that are in the System/Library/Fonts folder. You can use the freeware application TinkerTool (www.bresink.com) to view and change the fonts used by the system.
Languages are another area in which the system can become bloated. Even a basic install includes dozens of languages, and if you chose to Archive and Install, you've imported all the languages from your pre-vious installation. A Utility called Monolingual (homepage.mac.com/jschrier) lets you remove unwanted languages. I recommend using it to slim down and speed up the System, but keep in mind that it deletes the language localization files, so you will need to reinstall the system to get them back. After allocating fonts and other Library files between your DAW and Main user areas, it is a good idea to run a defragmenting utility, such as Disk Warrior or Norton Speed Disk. (If you use Speed Disk, be sure to use version 7.0.3 for Jaguar and version 8.0 for Panther.) It's also a good idea to repair permissions and optimize the system's prebinding. Optimizing prebinding updates the links between applications and the shared libraries that they use. You can optimize prebinding using the following utilities: TinkerTool System (www.bresink.com), Cocktail (www.macOSXcocktail.com), Xupport (www.computer-support.ch/Xupport), and OnyX (www.titanium.free.fr).
EYE OF THE CAT
Although OS X's shadow effect makes for great eye candy, it can be a real drain on CPU resources. That's especially true on slower Macs, but the speed gains from turning it off can even be worthwhile on faster machines running Jaguar when you're doing a lot of multiwindow editing in a large DAW project. (Panther's improved window management makes this less of a problem.) ShadowKiller (www.unsanity.com/products/free) is a free utility for toggling the effect — double-click to turn it on, and double-click again to turn it off.
Dock Hiding and Magnification are other graphic processes that can have a marginal but noticeable effect on CPU usage. Turning Hiding on and Magnification off, both of which you can do from the Dock submenu of the Apple menu, will reduce the CPU hit by 1 or 2 percent when using the Dock. Again, this applies mainly to slower Macs running Jaguar. For a complete list of tips for optimizing OS X on older, slower machines, see the sidebar “New Cats in Old Cages.”
A DIFFERENT BREED
Although the full installs of Jaguar and Panther differ by about 1 GB, their custom installs are roughly the same size: approximately 1.2 GB. However, Panther is significantly faster both in its handling of CPU and memory resources and its interface graphics. That improvement is the result of some major changes in Panther's Unix underpinnings. Among those are significant changes to Core Audio that greatly improve performance but result in some audio-driver incompatibilities between Panther and Jaguar. For digital audio, the most visible change is Panther's ability to parse interleaved, multichannel audio files and route their channels to different outputs, allowing Panther to manage multichannel AC-3 and DTS-encoded sound files automatically. Multichannel audio output can be configured by clicking on the Configure Speakers button in the Audio MIDI Setup utility. Three surround and three geometric speaker configurations are available.
Panther has also added Interapplication Connectivity (IAC) to its Core MIDI system. The new IAC driver supports multiple internal ports for MIDI input and output, which can be accessed from other MIDI applications. That allows you, for example, to direct MIDI playback from your DAW to a standalone synth.
THE CAT'S MEOW
Not all optimization has to do with saving CPU cycles and shepherding system resources. Ease of use is equally important.
Switching user accounts is easy to do. Usually to change accounts you must close all running applications, log off, then log on to the other account. Imagine that you've logged on to your Main account to check your email, and Software Update informs you of an update that you wish to download. You start the 40 MB download over your dial-up connection and go back to answering your email. Then you get a flash of inspiration for a mix that you've been working on, but the 40 MB download is only half finished. You don't want to lose the inspiration, and you don't want to start the download over again later. Enter Panther's Fast User Switching. You can turn on Fast User Switching from the Accounts Preference panel of System Preferences. Click on Login Options at the bottom of the Accounts List, then check the Enable Fast User Switching checkbox. A menu listing all user accounts will then appear at the top right-hand corner of your screen. To change accounts, simply select the desired account from that menu. You will be asked for the account password, then the screen will rotate the current account to the background and place the new account in the foreground (see Fig. 4).
If you are currently using Jaguar, Fast User Switching is a good reason to upgrade. If you're already using Panther but have only one account set up, you are in for a surprise: Fast User Switching gives you all the advantages of having separate DAW and Main accounts without any of the hassle of abandoning running processes and logging in and out. If you have a CPU-intensive process running in one account, you will have that much less computing power in the other.
YOUR CAT OR MINE
Process Wizard from La Chose Interactive (www.lachoseinteractive.net) and Nicer from ResExcellence (www.resexcellence.com) are background utilities that allow you to adjust the processing priorities of running applications. Both utilities are Panther and Jaguar compatible, although neither documents that fact. Process Wizard gives you a bit more control; Nicer is safer and gives you more information.
OS X processes fall into four categories: applications, background applications, other user processes, and nonuser processes. Process Wizard's control panel provides sliders to adjust the processor priority of any of those applications or processes (see Fig. 5). The first two categories are fair game, but messing with the latter two can easily crash your system. You can also kill an application or process with Process Wizard. In fact, killing Process Wizard (which is a background application) is the only way to shut it down.
Nicer works only on the first two categories: applications and background applications. It provides a page of information about any running application, as well as a fuel-gauge-style display for changing its priority (see Fig. 6). Both Process Wizard and Nicer are free and do a great job in Panther and Jaguar. However, since they are controlling the same parameters, they should not be run at the same time. Also, because they are background applications, they can be accessed only from one user account at a time. Raising your DAW's priority and lowering that of other applications and background processes can increase the DAW's CPU resources by as much as 30 percent. However, one kind of background process that needs special handling is system maintenance.
System maintenance is a series of scripts that are run automatically to keep the system clean and its various databases updated. The maintenance scripts run daily, weekly, and monthly. By default, they are set to run at 3 a.m., so they are unlikely to interfere with your work. If they do, you can use a utility called Cronnix (www.koch-schmidt.de) to reschedule them.
If you leave the maintenance schedule at its default time and you shut your computer down at night, the maintenance will not get done. That will degrade performance over time, so either reschedule maintenance for a time when the computer is usually running or use Cocktail, OnyX, MacJanitor (http://personalpages.tds.net/~brian_hill/macjanitor.html), or Xupport to run the maintenance scripts manually.
THROUGH FLAMING HOOPS
In the end, it is the results that count. You are not likely to turn your system folder inside out without some tangible benefit in performance. Here are the results I obtained with several systems.
I started with my own system, which is a Titanium PowerBook G4/667 MHz, with 512 MB of RAM. I had been getting periodic CPU spikes, audio dropouts, and warning messages when running even moderately-sized projects. (Incidentally, those included projects that ran fine in OS 9.) The optimization procedures described here have boosted my DAW's performance considerably. Large projects that typically took a minute and a half to load now take 30 seconds. Whereas 15 tracks used to spike my CPU and cause occasional error messages, I can now run more than 50 tracks of 24-bit, 96 kHz audio with the CPU running a bit more than 50 percent. Next, I borrowed a friend's dual-G4/1 GHz desktop machine with 768 MB of DDR SDRAM, which was set up for digital video editing. To benchmark the effect of optimization, I chose AltiVec Fractal Carbon from Dauger Research (www.daugerresearch.com), an application that plots the Mandelbrot fractal equation. What does that have to do with digital audio? In a word, everything. All processing, be it video or digital audio, comes down to executing a large number of floating-point calculations every second. A million floating-point calculations per second is called a megaflop, and a billion calculations is a gigaflop. AltiVec Fractal Carbon displays the speed, measured in megaflops or gigaflops, achieved by the computer while processing the Mandelbrot fractal equation. It runs on all versions of OS X and is optimized for G4 and G5 single- and dual-processor machines. Before optimization, my friend's dual-G4 machine clocked in at 8,689 megaflops, a pretty respectable score. The system was then optimized by reinstalling Panther, setting up two user accounts, repairing permissions, optimizing the prebinding, and defragmenting the drive. We ran AltiVec Fractal Carbon again, this time achieving 9,475 megaflops for an increase of 786 megaflops. Using Process Wizard produced another 188 megaflop gain. In total, that's nearly a full gigaflop faster. Finally, I optimized a dual-G5/2 GHz machine with 1 GB of DDR SDRAM. This was a fast machine to begin with, running AltiVec Fractal Carbon at an average of 15 and a peak of 15.8 gigaflops. After optimization along the lines just described, the G5 clocked an average of 16.5 and a peak of 16.79 gigaflops, for an average boost of 1.5 gigaflops and a peak gain of 1 gigaflop (see Fig. 7).
The speed figures tell only part of the story. Streamlining your fonts and other Library files, eliminating unused languages, and keeping up with routine maintenance may take a little time up front, but the payoff is big. Whether you have the latest muscle machine or one that's showing its age, optimization can increase power and your productivity.
Jim Bateslives in the Caribbean and pursues microtonal synthesis under the watchful eye of his cat Luna.
NEW CATS IN OLD CAGES
To optimize slower, single-processor Macs for maximum speed and proficiency in handling digital audio, use the following steps as guidelines for setting System Preferences. Results will vary depending on your configuration, graphics card, audio interface, and audio software. In the Desktop panel, set the Desktop for low-to-medium resolution, and disable the Change Picture option.
In the Dock panel, set the Dock to Minimize using the Scale Effect, disable Dock animation, and hide the Dock. In the Display panel, set Color Display to thousands of colors and choose the lowest resolution that comfortably fits your monitor. (This is more critical on older computers with slower graphics cards.) In the Energy Saver panel, set Energy Saver to Never Sleep (for PowerBooks and iBooks) and set Processor Performance to Highest. In the Sharing panel, turn off all sharing, firewall, and Internet services.
In the Classic panel, uncheck the Start Classic When You Log in option, and check the Warn Before Starting Classic option. In the Date & Time panel, uncheck the Display the Time with Seconds and the Flash the Time Separators options. In the Speech panel, set Apple Speakable Items to Off.
ON THE WEB
Listed below are Web sites for mastering digital audio in OS X.
Audio Engineering Society
OS X Audio.com
Accelerate Your Mac
Mac OS X Downloads
Mac OS X Hints
Mac OS X.org