Lag

From Second Life Wiki
Jump to navigation Jump to search

Lag is the colloquial name for slow reaction time when using Second Life. It is a symptom with a variety of causes. This article discusses the sources of lag, and what you can do to deal with it.

When you are logged in, there are a number of components which have to all work smoothly to minimize lag. These are your computer, the Internet connection, and the Linden Lab servers and internal network and databases. They will be discussed in order starting with your screen and working outward.

Your Computer

Second Life is both graphics-intensive, and uses a lot of bandwidth to communicate with the Linden Lab servers. Therefore your computer must be capable enough in order to run the Viewer program with minimal problems. See the System Requirements page for basic information.

Graphics

Your monitor and graphics card or chip are what together produce the images you see on the screen. Graphics chips vary a great deal in speed. The slowest are "integrated graphics" which use part of the motherboard chipset and some of the main computer memory to do the graphics calculations. Much faster are discrete graphics cards which have their own memory.

The Graphics Card Chart gives a relative range of performance for Second Life, though your frame rate will vary depending on settings and where you are in the 3D world. A more up to date relative ranking of cards can be found at Tom's Hardware Guide. The lowest few groups on that list will not be able to run Second Life adequately.

The Second Life world is both large and "live" (constantly changing). So some very fast algorithms (ie BSP trees and pre-compiled maps) used in other 3D games can't be used here. Instead the data to create the view has to be downloaded and then transformed into the 3D view in real time. This means you will get a lower Frames-Per-Second (FPS) rate than you will get with most other games.

Not many people use Second Life for "fast twitch" combat-type activities, so somewhat lower frame rates are acceptable. To see what you are getting for frame rates, open the Statistics floating window using the top menu View > Statistics Bar item.

The main controls for your graphics settings are found in the Preferences floating window, via top menu Edit > Preferences > Graphics tab. Check the "Custom" box to see more detailed controls.

Draw Distance - The single most important control that affects lag is how far from you the 3D world is visible. When this distance doubles, the amount of data that must be downloaded and displayed goes up 4-8 times (area or volume). So lowering this slider can make a big difference.

More information on graphics cards and issues can be found here:

CPU

The Second Life Viewer program tends to use a lot of your computer resources. On a windows system, typing Ctrl-Alt-Del will open the "Windows Task Manager", whose performance tab can show you the current percentage utilization of your CPU. If you find out it is stuck at 100%, one option is to shut down any other programs you may have running. Another is to reduce the settings within the Viewer, or try an alternate viewer with lower requirements.

Network

Your internet connection will also be used heavily, especially as you're flying around the world. Expect your bandwidth to idle at around 20-50 kilobits per second, and peak in the hundreds of kilobits per second while moving around or in a crowded area.

These are the three major sources of lag. CPU, Video, and Network. Often, when one is lagged, the others can appear to have lagged down as well. Here, I will try to give some advice on how to speed up each. Once you have eliminated all sources of lag, then you should go back and re-enable the options you are willing to compromise speed for.

Tips on Reducing Lag

Video

Here are the settings I recommend for those who are running minimal hardware or who are having trouble with crashes:

Open the Preferences window (Ctrl-P or Edit menu > Preference) and on the "Graphics" tab,

  • Set the "Quality and Performance" slider to "Low"
  • Check "Custom" checkbox.

Then,

  • All checkboxes listed in the frame should be UNchecked.
  • Set Draw Distance to 64 (very important, this is the biggest factor in video speed)
  • Max Particle Count to 256 (the default is 4096, you can also disable particles temporarily with [Alt]+[Shift]+[=])
  • Move "Mesh Detail" sliders all the way to the left
  • Terrain Detail to "Low"
  • Uncheck "Run Second Life in a window" (Top of the dialog)
  • Set "Windows Size" lower, such as 800x600 or 1024x768

And push "Hardware Options" button. "Hardware Settings" dialog will appear, then,

  • Check ON AGP Graphics Acceleration if you have the option
  • Set "Antialiasing" to "Disabled"
  • Uncheck "Enable VBO" checkbox. (Some machine may become unstable by checking this option.)
  • Texture Memory Size should be set to small if you have 512MB of memory or less, or large if you have more.
  • Fog Distance doesn't appear to have much of an effect, set it to your preference. (This option is enabled only when the "Basic Shaders" option on the previous dialog was unchecked. If the Basic Shaders option was checked, this Fog Distance will be determined by World menu > Environment Settings > Environment Editor > Advanced Sky button > Distance Multiplier.)

Following options may be obsolete:

  • Set your video card memory size as low as possible (though you may want to turn it back up if everything seems too blurry to you)
  • Check ON Avatar Vertex Program (turn this back off if you keep seeing avatars folded up into themselves)
  • Bumpiness Draw Distance - set to 0 (it won't matter if Object Bump is off anyway)
  • Outfit Composite Limit to 5 (no idea what this does, I think 5 is the default, and I don't see any differences in performance when changing it)

Additionally, it can help a lot to make sure you have the newest video drivers installed. If your drivers are more than a year old, chances are you will probably get some noticable improvement by upgrading them.

Network

Bandwidth

In the upper right corner of your window, you should see two small vertical indicators. (If there aren't, hide search textbox from Edit menu > Preference > Genetal tab > Show search panel in overlay bar.) The one on the left is your PACKET LOSS, the one on the right is your CURRENT BANDWIDTH. These indicators can be green, yellow, or red, depending on the percentage.

Bandwidth is not as important of an indicator of lag as much as packet loss. If you see ANY indication of packet loss, that's not good. If you see it every once in a while, or in very busy areas with a lot of people, that is normal. But, if you're getting any significant amount of packet loss in quiet areas or while flying around, you may need to adjust your Bandwidth under your Preferences / Network tab. The exception to this is that some packet loss seems to occur regularly at busy hours.

  1. Start with 300 kbps as your default.
  2. If you're not experiencing any packet loss, but feel like the world is loading too slowly and your bandwidth indicator is often yellow or red, then raise your bandwidth higher.
  3. If you are experiencing packet loss, reduce your bandwidth down until it stops.

Disk Cache Size

  • Pathfinder Linden suggests a reasonable setting around 200MB. If you set it too low, then you're always downloading things over and over again. 200 seems like a reasonable compromise in size and performance.

Also, you may want to disable streaming audio (Preferences / Audio tab) if you do not have enough bandwidth or want to save some CPU cycles.

CPU/Memory

  • Rebooting your computer before starting SL can help get better performance.
  • Close as many background programs as you can while running SL, especially P2P programs (Kazaa, Gnutella, Shareaza, etc)
  • Defragment your hard drive occasionally.
  • SL works optimally with 1 GB of RAM (that's 1024 MB). More is better, but the payoff is much less beyond 1GB.

Tip: If you need to run background applications while running Second Life, you may want to try lowering the Task Priority for SecondLife.exe just a little bit to give those programs a chance to run a little more smoothly. Don't do this unless you absolutely have to, because it will slow down the SL client. I do this often when I'm browsing the web while running SL, as SL tends to eat up all of my CPU and makes my web browser very slow.

Additional Information

  • To view your video and network status, press Alt+1
  • Typical framerates are between 10-20 FPS in non-busy areas
  • Typical network traffic is between 20-50 kbps in non-busy areas

Lag occurs most when

  • Your Draw Distance is too high
  • There are many physical (physics-enabled) objects nearby
  • There is a large group of people nearby
  • You are moving (and therefore loading new geometry, textures, and sounds)
  • You or other people are playing sounds or animations
  • When many objects are moving around nearby
  • You have "fancy" graphics features enabled (Local Lighting, Object Bump, Ripple Water, Shadows, etc)

or the objects, scripts and activities of the players around you.

See Also