BlakOpal Designs

victorian • steampunk • pirate • fantasy

If you find Second Life crashing or behaving badly on your system, there's a good chance that there is something you can do to fix it. In a nutshell, I believe SL crashes because your viewer overwhelms your video card. It tries to send it too many things to draw/render, and eventually the system can't take it anymore and you get a crash. Check out some of the tips and tricks below, they should be able to help you get better SL performance on your Mac.

- Trilo

Section 1: Update!

Making sure you have the latest and greatest version of Mac OS X for your machine is a crucial step. OS X updates contain all sorts of patches, fixes, and improvements, as well as improved drivers for your graphics card.

If you have an Intel Mac, then by all means upgrade to Snow Leopard (OS X 10.6). This is a significant upgrade for your machine that will boost performance in just about every application, as well as save you 6GB of hard drive space over Leopard (OS X 10.5). A comprehensive list of features can be found here. If you have an older Mac with a PowerPC chip, then Leopard (OS X 10.5) is as far as you can upgrade. The latest release - 10.6.2, addresses a few minor issues and can be found here.

Leopard (OS X 10.5) users, make sure you're using the latest release - 10.5.8. This release contained some important bios & driver updates that should help performance overall as well as in SL. If you've been experiencing problems with frequent crashes, updating Leopard to 10.5.8 can help reduce or eliminate the problem. Get it here.

If you're still running Tiger (OS X 10.4), it is strongly recommended that you upgrade your system. While it was a great OS back when it was released in April 2005, technology has long since passed it by. PPC Mac users should upgrade to Leopard (OS X 10.5), and Intel Mac users should upgrade to Snow Leopard (OS X 10.6) to take advantage of newer drivers and technology that will let you get the most from your machine. Until you're able to buy the right OS upgrade for your machine, you can make do with the final Tiger release - 10.4.11 (released in November 2007). PPC Mac users can get their update here, while Intel Mac users can find the 10.4.11 update here.

Section 2: Housecleaning!

Mac computers are kind of like self-cleaning ovens. They handle all the day to day stuff without you ever having to do anything. But if programs are misbehaving, you may want to give it a hand. First and foremost is Repairing Permissions. In Finder, go to your Applications -> Utilities folder and run Disk Utility. On that screen, choose your hard disk on the left side and then click the Repair Disk Permissions button on the right side. Your system will then check your drive to see if it can find any trouble, and fix any problems automatically. Once that's done, restart and give things a go.

Clearing your cache in SL is another easy thing to check. To help improve performance, SL tries to keep copies of things on your local machine in a cache. Then when you need it again, it grabs the file from cache instead of having to download it all over again. Problem is, if something happens to a file in your cache, you'll have a problem whenever SL tries to use it. The fix is EASY... clean out your cache. Cmd-P to bring up Preferences, and then Network tab. See that Clear Cache button? Give it a click, and then restart SL.

Section 3: Debug Menu

By default, the Debug or Advanced menu is hidden. To enable it, press CTRL-Option-D. Now you should see it on the top of your viewer screen, to the right of the Help menu.

If you have either multiple processors or a multi-core CPU, you can change a couple settings to put all that horsepower to work for you. Click on Advanced -> Rendering -> Run Multiple Threads. This tells SL to use all of your processors/cores. Next, click on Advanced -> Debug Settings and from the drop-down menu choose RenderAppleUseMultGL. Change the setting from False to True. This tells Second Life to use all your processors/cores for rendering OpenGL. Now you need to restart Second Life for these settings to take effect.

Next, while you’re here, let’s improve how sculpted prims work for you in-world. By default they should load reasonably well, and in a reasonable amount of time. But if you have a newer or more powerful machine, you can improve SL sculpty performance significantly with one settings change. Click on Advanced -> Debug Settings and from the drop-down menu choose RenderVolumeLODFactor. The default setting is 2.0, and most users should be able to change this to 4.0. If your system has a more robust graphics chip you can try setting this value to 8.0 to get even better performance.

Once you've done that, press CTRL-Option-D again to hide that advanced menu (you won't ever have a need to mess with most of that stuff anyways, so may as well keep it out of the way). Next, quit and restart SL for that change to take effect.

Section 4: Preferences

Next step, you need to adjust hardware options. Cmd-P to bring up Preferences, then click on the Graphics tab, and click on the Hardware Options button. You should then see a slider for texture memory. Make sure that's set to no more than half of the total amount of video memory in your machine. For most people, setting to 128MB is ideal. If you run other programs at the same time (especially big graphics apps like Photoshop), you may want to set the number to a lower value.

In that same window is a setting called Fog Distance Ratio (Note: for some machines this setting is grayed out - if that's the case, skip ahead). It tells SL how far away to make the horizon foggy/hazy. Lowering the number can improve performance greatly. On my old PowerBook G4, I set that number to 2.0 and it really made a difference all by itself. Close that dialog by hitting Okay.

On the main Graphics tab, tick the little checkbox marked Custom (if it's not already ticked). That opens up a tangle of additional graphics settings. Here are my suggestions on changes to make.

If your machine is from before the end of 2007, uncheck Hardware Skinning (while newer machines will want to check the box). It tells SL to have your graphics chip handle the process of rendering skins.

Avatar Impostors is a subjective choice. Turning it on tells SL to use pixelated bitmaps called sprites (similar to old Super Nintendo game characters) to draw the avatars further away from you, instead of rendering each one (with all their attachments and bling). Turning it on speeds up performance, but doesn't look as nice. If you do enable Avatar Impostors, then the slider on the right for Avatars lets you adjust the distance SL uses to switch things out. Go to a club or someplace crowded and play with this setting :-)

Make sure that your particles slider is 4096 or less. If you're really having performance issues, you can drop that down to 2048 and still see plenty of sparkles, poofs, and flame effects.

Section 5: Draw Distance

Yeah, this is part of preferences, but Draw Distance is such an important one I figured it was worth its own section. Draw distance tells Second Life how much stuff to draw. Imagine drawing a line starting at your avatar and then moving away in a straight line for the distance you set with that slider. SL then takes that number and uses it as a radius to draw a giant sphere around your avatar. It will then try to draw every single prim and load every single texture inside that sphere. The bigger the number, the more it has to load. If you hang out in crowded sims and clubs and stuff, drop this way down to 64. If you're on less populated sims that are highly detailed, set it to 96. Otherwise, 128 should be the most you really need to see. Most of your interactions and explorations are probably happening within a 20 meter radius, so even the lowest setting should be fine. Higher numbers on the slider are ideal for things like flying planes or airships at altitude, where you've got very little to see in your nearby vicinity

Once you've done that, hit okay to close the preferences dialog box. Now restart SL one more time. When you restart, it saves all those settings, and now if you should happen to crash, SL will be able to remember all the stuff you've just tweaked.

Section 6: Play Around

You can continue to tweak the other sliders from here - adjusting detail levels as you see fit to get better or worse performance.

Many thanks to everyone in the Macintosh User's Group and on the SL Forums who have given me tips, explained things, and pointed me in the right direction when I needed it. Hope that helps!