This page was originally created for Mac users, but since many of the tips also apply to Linux and Windows users, I've updated and re-written it so that more people could benefit.

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 computer.

- Trilo

Section 1: Update!

Making sure you have the latest and greatest version of your operating system and video drivers is a crucial step. For Linux and Windows users that means making sure you've updated your specific operating system to the latest version/build and that you've looked up your video card manufacturer's web site and downloaded/installed the latest stable version of their video drivers for your operating system. As a Mac user, it is beyond the scope of what I do with this page to provide you with the myriad of links and information to help you there.

Apple's OS X updates contain all the patches and driver updates you need in one spot. Mac users can get at them by either running Software Update or clicking on the appropriate link below.

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.7 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.

PC & Linux users should also do regular housecleaning on their systems as well, though that will most likely involve the use of third party programs and utilities. PC users in particular should also be aware of the need for anti-malware & anti-virus software. Viruses and malware not only can cause your computer to crash, but contribute to 25% of the spam on the internet, plays a significant role in identity theft, and can cause your computer to run significantly slower. It's beyond the scope of this page to provide specific tips/links - but good luck getting that sorted out.

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 (CTRL-P on Windows/Linux) to bring up Preferences, and then Setup tab. Beside where it shows the location of your cache folder you'll see a Browse button (for choosing a new location) and a Reset button. Give reset a click, and then restart SL. That will clear out or reset your Viewer cache. In 1.x Viewers, it can be found on the Network tab and the button is labeled Clear Cache.

Section 3: Advanced Menu

By default, the Advanced (or Debug) 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 -> Run Multiple Threads to enable multi-threaded performance so SL can use multiple processors/cores. In Viewer 1.x, click on Advanced -> Rendering -> Run Multiple Threads.

Next, if you're a Mac user with something better than Intel Integrated Graphics you want to 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 the additional shaders/cores in your GPU for multi-threaded 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 6.0 to get even better performance. Setting it above 6.0 doesn't appear to improve sculpty performance, but has been known to cause issues with prims sometimes disappearing (usually small prims in jewelry).

In Viewer 2, you can also choose to Show Develop Menu option to crack open yet another hidden menu item. On the Develop menu, you want to choose HTTP Textures. This particularly technical function tells the SL Viewer to use the HTTP protocol for receiving texture data from the SL servers wherever possible. This is faster than the default, so turning it on will help get texture data more quickly.

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 (CTRL-P on Windows/Linux) to bring up Preferences, then click on the Graphics tab. Now 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 (up to a max of 512MB). If you don't know how much video memory your computer has, 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. If you've ever experienced graphics glitching or screen flickering before your SL Viewer has crashed, that's a telltale sign that your Texture Memory setting is too high.

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 by making objects in the distance get hazy/foggy. On my old computer, 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, click the button marked Advanced to show a tangle of additional graphics settings. On Viewer 1.x, instead of an Advanced button you'll see a little checkbox marked Custom - tick that to see the additional options. Here are my suggestions on changes to make.

If your machine is older (or Windows/Linux users on a low end laptop or netbook), 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, SL Forums, and whom I've had the pleasure of chatting with in-world who have given me tips, explained things, and pointed me in the right direction when I needed it. This page is essentially a compilation of all that I've learned from you. Hope that helps!