Difference between revisions of "Lag"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Help|BugFixes=*|Viewer=*|Glossary=*}}{{GettingStartedNav}}
{{Help|BugFixes=*|Viewer=*|Glossary=*}}<div style="float:right;">{{GettingStartedNav|float=none}}{{TOC}}</div>


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.   
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.   
Line 9: Line 9:
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 [http://secondlife.com/support/system-requirements/?lang=en-US System Requirements page] for basic information.
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 [http://secondlife.com/support/system-requirements/?lang=en-US System Requirements page] for basic information.


{{RightToc}}
=== Graphics Hardware ===
 
=== 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.
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 [https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=4782 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.
The [[Typical Frame Rate Performance by Graphics Card/GPU|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 [http://www.tomshardware.com/reviews/best-graphics-card,2387-7.html Tom's Hardware Guide]. The lowest few groups on that list will not be able to run Second Life adequately.


Your graphics card will be constantly busy, things will almost always be moving around, disappearing, reappearing, and you will always be loading textures as you move around.
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.  


Due to the dynamic nature of the SL world, some very fast algorithms (ie BSP trees) can't be used here which are used in most 3d games which get to use a "static" precompiled map for their 3d environment. This means you will get a lower Frames-Per-Second (FPS) rate here than you will get with most of your 3d 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 Bar Guide|Statistics]] floating window using the top menu '''View > Statistics Bar''' item.


Please Note: It is quite typical to get only 10-20 Frames Per Second even in quiet areas of the world, with a fairly new graphics card.  DRAW DISTANCE can have one of the biggest effects on your frame rate, and is always the first thing I recommend lowering if someone is getting a severely low frame rate.
More information on graphics cards and issues can be found here:


You can do so in Edit > Preferences (or {{KeyCombo|ctrl=*|P}}) in the ''Graphics'' tab. Check the ''Custom'' checkbox and lower the ''Draw Distance'' slider.
* '''[[Graphics Cards]]''' - Information on selecting a card
* '''[[How to identify your graphics card]]'''
* '''[[Updating drivers]]''' - Having the latest drivers can improve performance a bit


Your video drivers can have a big impact on your performance as well.  Video card manufacturers are always finding faster ways to do the same thing, and they incorporate them into newer drivers.  If your drivers are more than a few versions behind, it is highly suggested that you upgrade them. See
=== Cache Settings ===


*[[Graphics Cards]]
The cache settings are found in the [[Preferences Window Guide|Preferences]] floating window, via top menu '''Edit > Preferences > Advanced''' tab.
*[[How to identify your graphics card]]
Reducing the cache size to a minimum (64 MB) can help reducing viewer-side lag on computers with slow hard-disk-drives.
*[[Updating drivers]]
Also it can help to move the cache-directory to a different (physical) hard-drive.
Be aware that lowering your cache-size possibly will boost your Second Life bandwidth usage, though.


== CPU ==
=== Graphics Settings ===


The CPU does a lot of work in SL compared to other applications. Everything that moves in the world has to be updated, and SL is a very dynamic world. SL will almost certainly run your CPU at full 100% utilization the entire time you have the program running.  Due to the dynamic nature of SL, a CPU can often have more of an effect on improving your performance than a new video card.
The main controls for your graphics settings are found in the [[Preferences Window Guide|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.


== Network ==
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:


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.
'''Run Second Life in a window''' - Uncheck and select a lower resolution


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 wellHere, I will try to give some advice on how to speed up eachOnce you have eliminated all sources of lag, then you should go back and re-enable the options you are willing to compromise speed for.
'''Draw Distance''' - The single most important control that affects lag is how far from you the 3D world is visibleWhen 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.  


== Tips on Reducing Lag ==
'''Shaders, Reflection Detail, Avatar Rendering:''' - All these checkboxes should be UNchecked.


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


Here are the settings I recommend for those who are running minimal hardware or who are having trouble with crashes:
'''Max Particle Count:''' - to 256


Open the Preferences window ({{KeyCombo|ctrl=*|P}} or Edit menu > Preference) and on the "Graphics" tab,
'''Mesh Detail:''' sliders all the way to the left
* Set the "Quality and Performance" slider to "Low"
* Check "Custom" checkbox.


Then,
'''Hardware Options Button''' - Opens another window with more settings:
* 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,
: '''''Filtering:''''' - Leave unchecked
* Check ON AGP Graphics Acceleration if you have the option
: '''''Antialiasing:''''' - Disabled
* Set "Antialiasing" to "Disabled"
: '''''Enable VBO and FBO: - On
* Uncheck "Enable VBO" checkbox. (Some machine may become unstable by checking this option.)
: '''''Texture Memory (MB):''''' - Normally set to same as your graphics card memory size
* Texture Memory Size should be set to small if you have 512MB of memory or less, or large if you have more.
: '''''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 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.)
: '''''Texture Compression''''' (also called 'lossy compression' in other viewers) - switching this setting can drastically change the graphical performance of the viewer. On slower graphics cards it can give a huge performance boost, as texture compression reduces the amount of video memory used by the graphics card. It can also reduce the performance on computers with some faster graphics cards, because the computer needs to do some extra calculations to compress the textures.


Following options may be obsolete:
=== CPU and Memory ===
* 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.
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 ===
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.


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


# Start with 300 kbps as your default.   
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 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'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 ====
If you are on a wireless router, or entirely wireless connection you may not be getting these speedsDialup is definitely too slow for using Second LifeOnce your surroundings have downloaded, your bandwidth will stabilize at anywhere from 4 to 50 kilobits per second.
* Pathfinder Linden suggests a reasonable setting around 200MBIf you set it too low, then you're always downloading things over and over again200 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.
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.


=== CPU/Memory ===
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.


* Rebooting your computer before starting SL can help get better performance.
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 offVoice chat also uses an accessory program from Vivox to run, and turning it off will also lower CPU use.
* 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.
== Server Side Lag ==


== Additional Information ==
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.


* To view your video and network status, press Alt+1
Things that make the server busier include:
* 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 ===
* There are many physical (physics-enabled) objects in the region
* Your Draw Distance is too high
* More users in or can see the region, since it has to send data to everyone who is
* There are many physical (physics-enabled) objects nearby
* More object-embedded software scripts running in the region
* There is a large group of people nearby
* Lots of changing textures
* 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]]
Line 122: Line 97:
==See Also==
==See Also==
* [http://en.wikipedia.org/wiki/Lag Wikipedia: Lag]
* [http://en.wikipedia.org/wiki/Lag Wikipedia: Lag]
* [http://analutetia.com/blog/anatomy-of-lag/ Anatomy of Lag Article]
* [[Packet Loss]]
* [[Packet Loss]]
* related [[Knowledge Base]] articles:
* related [[Old Knowledge Base]] articles:
**{{slkb|4207|I have a lot of lag. How can I improve performance?}}
**[[I have a lot of lag.  How can I improve performance|I have a lot of lag. How can I improve performance?]]
**{{slkb|4237|How do I check for packet loss (network lag)?}}
**[[How do I check for packet loss (network lag)|How do I check for packet loss (network lag)?]]
**{{slkb|4426|How many avatars can I have on my region at once without causing serious problems with lag?}}
**[[How many avatars can I have on my region at once without causing serious problems with lag|How many avatars can I have on my region at once without causing serious problems with lag?]]
**{{slkb|4782|Typical Frame Rate Performance by Graphics Card/GPU}}
**[[Typical Frame Rate Performance by Graphics Card/GPU|Typical Frame Rate Performance by Graphics Card/GPU]]

Latest revision as of 21:00, 14 June 2013

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:

Cache Settings

The cache settings are found in the Preferences floating window, via top menu Edit > Preferences > Advanced tab. Reducing the cache size to a minimum (64 MB) can help reducing viewer-side lag on computers with slow hard-disk-drives. Also it can help to move the cache-directory to a different (physical) hard-drive. Be aware that lowering your cache-size possibly will boost your Second Life bandwidth usage, though.

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.
Texture Compression (also called 'lossy compression' in other viewers) - switching this setting can drastically change the graphical performance of the viewer. On slower graphics cards it can give a huge performance boost, as texture compression reduces the amount of video memory used by the graphics card. It can also reduce the performance on computers with some faster graphics cards, because the computer needs to do some extra calculations to compress the textures.

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