This is a little long, but worth reading and quite helpful. My friend Neo jotted this down and we use the advice for our hockey league games, which can be laggy if there's a lot of folks around.
-----------------------------------------------------------------------------------------------------
Getting the most out of SL. (How to reduce your lag)
The #1 cause of lag in Second Life, is client side.
CTRL-ALT-SHIFT- 1 Will show you your client side FPS.
The Second Life client is a mash-up of all sorts of technologies, so many in fact I think it's a god damned miracle that we have it. It is basically, a real time 3d version of the internet. So if we want to make Second Life run better we have to understand everything that is in the preferences menu (CTRL-P). But before we get to any of that, we need to know our own computer a bit better than we know now. Think of SL as the body of your car. While the body can be great, the car isn't going to go anywhere fast if the engine is not well maintained.
Like any and all overhauls, we'll start with cleaning, and a tune up.
(These steps are optional but recommended, and for advanced users)
The first thing we should do is clean up the hard drive, then defragment it. This is important because SL uses the hard drive for it's cache, and if it's cache is all in one place all nice and organized, SL won't spend so much time looking for that one texture to apply to a prim when you already have it downloaded. In most cases the hard drive is the slowest part of your computer.
I would suggest downloading a program called CCleaner. It used to be called Crap Cleaner back in the day before they got popular. CCleaner should analyze then get rid of all the junk files on your hard drive. As a user it's your responsibility to review files before you delete them.
The second step is to update your network and graphic card drivers. (Note: The Windows Update Feature can most likley do this for you, but you must select custom and browse to the hardware portion of the update. )
To find out what drivers you have do the following: Right click My computer, then hit properties. There should be a tab there called Hardware. Now click the button called Device Manager. You should be presented with a list of components your computer has. Expand Display adapters and take note of the device(s) in there on a spare sheet of paper, you can ignore the ones with secondary. They are just the same driver in case you want to enable dual monitor output. Now expand Network adapters. There's a few in there, but the one you want to look for is *NOT* the 1392 Net Adapters. For instance I have a Killer NIC NDIS EDGE Interface. That would be my choice. Write that down too.
Now with both drivers written down, browse to google.com and type one of the drivers in and the word download. You should be brought to a page where you can download, or it has download instructions or whatever. Download then install or upgrade via the drivers instructions.
Why did we download new network drivers you ask? Secondlife is a VERY VERY network intensive program. It's constantly throwing object updates at your computer, downloading textures, shapes info, chat, voice, everything. Odds are your computer will benefit from such a driver upgrade.
Next, we need to optimize the way windows handles network traffic between you and your IP. A long time ago I used to use a program called SG TCP Optimizer. Without going into technical detail, It's good for making the proper registry adjustments to make the most of your internet connection all around.
Run a defrag. Take a nap come back when it's done. Restart your computer.
Now to work on the SL client to make it fit your needs.
Now that we've gotten this far, start Second Life but don't log in, click preferences, under the network tab clear your cache, under the advanced graphics tab check box "Auto-detect graphics hardware on next startup", hit apply, okay, and close second life.
Lets head over to
http://speedtest.net/. Run the test there and write down your download kb/s. Move the decimal one place to the left. That is a safe number to use for "Maximum Bandwidth" in the Network tab of SL. For instance mine is 6047, so my Maximum bandwidth is 604. The SL servers need to know how fast they can send information do you, so setting this too high will only cause you to get a lot of packet loss, and lag. Too low and it's not optimal.
Lets start Second Life but not log in again. Lets go to the network tab and plug in our Maximum Bandwidth number. See the Disk Cache Size slider? I would suggest setting it anywhere from 500-1000. SL will have 500-1000 MB of data on your hard drive. Why so much? If we don't have a lot, Second Life will have to re-download that content to your hard drive causing more client side lag as things take time to rez in. The more disk cache you have the better. If you didn't have a Disk Cache second life would have to re-download content all the time. Having content on the hard drive is much quicker than downloading them.
Graphics Tab:
There's several things to consider when running SL. The first is the resolution if you do not run in a window, or the window size if you do. The bigger the window, or resolution setting the more time it will take for your graphic card to render the scene. If SL is laggy you might want to consider lowering the resolution you run it at, or running it in a smaller window.
Draw distance:
I personally have mine at 128, which is FOUR times as much data downloading and graphic rendering than 64. You have to keep in mind that screen resolutions and draw distance every time you double the number, your quadrupling the processing needed to render the scene.
These are the only two things in this tab that really affect the practical performance of SL.
Graphics Detail Tab:
Enable Vertex Shaders:
Vertex shaders are all the nice pretty effects in SL, rippling water, and all the effects of the upcoming Windlight viewer. In general if your graphics card supports it you might want it enabled. However leaving it disabled will save you some FPS. You need to enable vertex shaders to enable the Avatar Vertex Program.
Enable Bumpmapping and Shiny:
If you enable this objects that are textured in SL may appear to be shiny, or have a sort of fake 3d effect called Bumpmapping.
Avatar Vertex Program:
In general leaving this enabled does make SL run faster. You should only disable this if your avatar renders funny or mis-colored. There is a lot to be desired as to how well SL renders avs.
Normal, Bump Mapped, Bump Mapped & Cloth:
While writing this, I don't think I've ever noticed the effect of bump mapped on an Av before. I've seen the cloth effect though! It makes SL clothes wiggly in the wind and when flying. If you want more FPS just leave this at normal.
Sun and moon or Nearby local Lights:
This can make a big difference in your FPS jump if your graphics card isn't up to the task of rendering more than just the sun and moon. Local lights renders the nearest 5 light sources, coloring the surroundings appropriately. Leaving it on Sun and moon is a big FPS difference to some people.
Terrain Detail: Low and High.
Remember that double the numbers = 4 thing we talked about? If you set the terrain to low, the ground might look like smeared mud, but it will have less of a footprint in the viewers memory. I personally can't stand low, and leave mine on high.
Mesh Details:
These can make all the difference in the world. And you can see it in action! CTRL-SHIFT-R brings up the wireframe view. Adjusting these sliders will adjust the number of faces on an object/tree/avatar. If there are less faces to render, there is less processing for SL to do. When faced with massive graphic lag, this is one of the things you should adjust first.
Adv. Graphics Tab:
Anisotropic Filtering:
Anisotropic Filtering is a process which smoothes out the sharp edges in a rendered scene. It is also very graphic intense! Enable it if only you're more than comfortable with your current FPS, because this is a big hit.
Enable VBO:
OpenGL Vertex Buffer Objects (PDF) should only be disabled if it's causing SL to crash. What this does (I assume) is store object shape data in memory, probably graphic card memory. So the CPU can work on it's own thing.
Graphics Card Memory:
Set this to the amount of onboard ram your graphics card has.
Max Particle Count:
I know some people have problems with a screen full of particles, so lowering this will help in particle intensive situations.
Outfit Composite Limit:
Lower is faster.
Extra tips!
Disable Flexible Objects: ( CTRL-ALT-f9 )
Disable Trees: ( CTRL-ALT-SHIFT- 3 )
Disable Grass: ( CTRL-ALT-SHIFT- 0 )
Disable Clouds: ( CTRL-ALT-SHIFT- - )
Disable Particles: ( CTRL-ALT-SHIFT- = )
Disable Simple
Disable Surface Patch
Disable Ground
LEAVE ON ALPHA AND PARTICLES AND VOLUME AND CHARACTER
If you have a multi-core CPU: Client > Rendering > Run Multiple Threads helps a bit.
Having two gigs of Ram makes a fantastic difference in SL, and is the cheapest hardware upgrade.
If you have a gig or more of ram and a broadband connection, I would suggest disabling Object - Object Occlusion ( CTRL-SHIFT-O ). Initial rez times will increase (minorly) but you won't have that problem where you turn and SL hangs for about 5 seconds while it thinks if it should show an object behind another object.
---------------------------------------------------------------------------------------------------