Difference between revisions of "Lag"

From Second Life Wiki
Jump to navigation Jump to search
(Full rewrite of page)
Line 25: Line 25:
* '''[[Graphics Cards]]''' - Information on selecting a card
* '''[[Graphics Cards]]''' - Information on selecting a card
* '''[[How to identify your graphics card]]'''
* '''[[How to identify your graphics card]]'''
* '''[[Updating drivers]]'''
* '''[[Updating drivers]]''' - Having the latest drivers can improve performance a bit


=== Graphics Settings ===
=== Graphics Settings ===
Line 54: Line 54:
: '''''Fog Distance:''''' -This option is enabled only when the "Basic Shaders" option on the previous dialog was checked. If the Basic Shaders option is unchecked, this Fog Distance will be determined by top menu '''World > Environment Settings > Environment Editor > Advanced Sky button > Distance Multiplier'''.
: '''''Fog Distance:''''' -This option is enabled only when the "Basic Shaders" option on the previous dialog was checked. If the Basic Shaders option is unchecked, this Fog Distance will be determined by top menu '''World > Environment Settings > Environment Editor > Advanced Sky button > Distance Multiplier'''.


== CPU and Memory ==
=== CPU and Memory ===


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.
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.
Line 60: Line 60:
The program also uses several hundred MB of main memory.  Once the real physical memory has been used up, most computers will swap data out to the hard drive temporarily.  This is much slower.  If you see the "Commit Charge" (actual memory used) is more than the amount of physical RAM installed in your computer, you have two options: shut down other programs and reduce settings in the SL Viewer, or add more memory to your computer.
The program also uses several hundred MB of main memory.  Once the real physical memory has been used up, most computers will swap data out to the hard drive temporarily.  This is much slower.  If you see the "Commit Charge" (actual memory used) is more than the amount of physical RAM installed in your computer, you have two options: shut down other programs and reduce settings in the SL Viewer, or add more memory to your computer.


== Network ==
As a guide, 512MB would be barely usable, 768MB is usable on the lowest settings, 1 GB is adequate, and more than that is good, especially if you want to run other programs at the same time.


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.
== Internet Connection ==


These are the three major sources of lagCPU, Video, and NetworkOften, when one is lagged, the others can appear to have lagged down as wellHere, 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.
Second Life requires constant communication with the Linden Lab serversData speed is highest when you first arrive at a new location, are moving around quickly, or in an area where lots of people are coming and goingAll of these require sending you new data so you can see it allA connection speed of at least 500 kilobits per seconds (kbps) is needed to run Second Life adequately.


== Tips on Reducing Lag ==
If you are on a wireless router, or entirely wireless connection you may not be getting these speeds.  Dialup is definitely too slow for using Second Life.  Once your surroundings have downloaded, your bandwidth will stabilize at anywhere from 4 to 50 kilobits per second.


=== Video ===
Paradoxically, a connection speed that is too high can cause problems.  Your computer has to do something with the new data as it comes in.  If it is too busy, it can miss data packets, which then get re-sent.  This makes the problem worse.  The "Statistics Bar" shows packet loss as a percentage.  If it anything above 0% on a steady basis, go to top menu '''Edit > Preferences > Network > Maximum Bandwidth''' and try lowering the value to reduce packet loss.  On the other hand, if you have a fast connection and can handle it, you can increase the bandwidth to download data faster.


Here are the settings I recommend for those who are running minimal hardware or who are having trouble with crashes:
On the same tab, '''Disk Cache Size:''' controls how much data sent from the servers is saved on your hard drive. This includes textures, animations, inventory list, sound clips, and other items.  A higher setting will keep from having to repeat downloading items again when you see them.


Open the Preferences window ({{KeyCombo|ctrl=*|P}} or Edit menu > Preference) and on the "Graphics" tab,  
Streaming audio and video media, and voice chat, all increase bandwidth required. Use the top menu '''Edit > Preferences > Audio & Video > Streaming Preferences:''' to turn off streaming.  Use '''Edit > Preferences > Voice Chat > Enable voice chat''' to turn it off.  Voice chat also uses an accessory program from Vivox to run, and turning it off will also lower CPU use.
* Set the "Quality and Performance" slider to "Low"
* Check "Custom" checkbox.


== Server Side Lag ==


The Linden Lab servers have to both keep track of everything happening in a map region, and send that information to all the users who can see the region.  If they have too much to do, they will slow down the simulator frame rate so as to not lose data.  If too much communication is required to fetch data about objects and send them to all the users, it can become backlogged.  Since lag can have multiple causes, the [[Statistics_Bar_Guide#.27Simulator.27_Panel|Statistics ]] floating window can tell you when it is server-side lag that is the cause.


Following options may be obsolete:
Things that make the server busier include:
* 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.
* There are many physical (physics-enabled) objects in the region
 
* More users in or can see the region, since it has to send data to everyone who is
=== Network ===
* More object-embedded software scripts running in the region
 
* Lots of changing textures
==== 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.
 
# Start with 300 kbps as your default. 
# 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.
# 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.


[[Category:Text from In-world Notecards|Lag]]
[[Category:Text from In-world Notecards|Lag]]

Revision as of 08:17, 29 August 2009

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 Hardware

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.

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

Graphics Settings

The main controls for your graphics settings are found in the Preferences floating window, via top menu Edit > Preferences > Graphics tab. Use the main "Quality and Performance "slider to change multiple settings for faster or more detailed 3D view. Check the "Custom" box to see more detailed controls.

If you have a lower performance video card, the following settings will increase speed at the expense of quality. If you are getting good frame rates, you can set some of these higher:

Run Second Life in a window - Uncheck and select a lower resolution

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.

Shaders, Reflection Detail, Avatar Rendering: - All these checkboxes should be UNchecked.

Lighting Detail, Terrain Detail: - Set to Sun and Moon only, and Low, respectively.

Max Particle Count: - to 256

Mesh Detail: sliders all the way to the left

Hardware Options Button - Opens another window with more settings:

Filtering: - Leave unchecked
Antialiasing: - Disabled
Enable VBO and FBO: - On
Texture Memory (MB): - Normally set to same as your graphics card memory size
Fog Distance: -This option is enabled only when the "Basic Shaders" option on the previous dialog was checked. If the Basic Shaders option is unchecked, this Fog Distance will be determined by top menu World > Environment Settings > Environment Editor > Advanced Sky button > Distance Multiplier.

CPU and Memory

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.

The program also uses several hundred MB of main memory. Once the real physical memory has been used up, most computers will swap data out to the hard drive temporarily. This is much slower. If you see the "Commit Charge" (actual memory used) is more than the amount of physical RAM installed in your computer, you have two options: shut down other programs and reduce settings in the SL Viewer, or add more memory to your computer.

As a guide, 512MB would be barely usable, 768MB is usable on the lowest settings, 1 GB is adequate, and more than that is good, especially if you want to run other programs at the same time.

Internet Connection

Second Life requires constant communication with the Linden Lab servers. Data speed is highest when you first arrive at a new location, are moving around quickly, or in an area where lots of people are coming and going. All of these require sending you new data so you can see it all. A connection speed of at least 500 kilobits per seconds (kbps) is needed to run Second Life adequately.

If you are on a wireless router, or entirely wireless connection you may not be getting these speeds. Dialup is definitely too slow for using Second Life. Once your surroundings have downloaded, your bandwidth will stabilize at anywhere from 4 to 50 kilobits per second.

Paradoxically, a connection speed that is too high can cause problems. Your computer has to do something with the new data as it comes in. If it is too busy, it can miss data packets, which then get re-sent. This makes the problem worse. The "Statistics Bar" shows packet loss as a percentage. If it anything above 0% on a steady basis, go to top menu Edit > Preferences > Network > Maximum Bandwidth and try lowering the value to reduce packet loss. On the other hand, if you have a fast connection and can handle it, you can increase the bandwidth to download data faster.

On the same tab, Disk Cache Size: controls how much data sent from the servers is saved on your hard drive. This includes textures, animations, inventory list, sound clips, and other items. A higher setting will keep from having to repeat downloading items again when you see them.

Streaming audio and video media, and voice chat, all increase bandwidth required. Use the top menu Edit > Preferences > Audio & Video > Streaming Preferences: to turn off streaming. Use Edit > Preferences > Voice Chat > Enable voice chat to turn it off. Voice chat also uses an accessory program from Vivox to run, and turning it off will also lower CPU use.

Server Side Lag

The Linden Lab servers have to both keep track of everything happening in a map region, and send that information to all the users who can see the region. If they have too much to do, they will slow down the simulator frame rate so as to not lose data. If too much communication is required to fetch data about objects and send them to all the users, it can become backlogged. Since lag can have multiple causes, the Statistics floating window can tell you when it is server-side lag that is the cause.

Things that make the server busier include:

  • There are many physical (physics-enabled) objects in the region
  • More users in or can see the region, since it has to send data to everyone who is
  • More object-embedded software scripts running in the region
  • Lots of changing textures

See Also