Where was that again?

Monday, January 3, 2011

Lag... In Summary

So recently I was clued in on a blog post from 2009, entitled The Anatomy of Lag, by Gwyneth Llewelyn. By the time I finished reading, I felt less concern over things like ARC and my frustration that good prim fur shot my rendering through the roof. I was impressed enough with the information shared in that blog post that I shared the link on my Facebook and Skype statuses. What I got back were comments about the complexity of the information that was given, in the midst of appreciation for the share. Being that I know that I struggled over a few sections myself, I’ve decided to attempt to summarize the information a little bit.

What many people may not understand is there’s a difference between server lag and client lag. Server lag is lag on Linden Lab’s side of things; it will affect everyone to an extent, equally. Client lag is something that you, yourself, experience that others don’t necessarily notice. There isn’t always a distinct difference between the two, but generally speaking, the causes are what make them different.

Client lag has many causes, but the most common offenders are connection, graphics card, computer not being configured properly, or not adjusting settings in preferences on the viewer. Adjusting settings both on your computer and within the preferences panel of your viewer can make a world of difference in your Second Life experience. I’m not going to get into specifics here on what adjustments can help, as it would make this far too long of a read. I will say that if you’re using a third party viewer, look to see if they have an inworld support group or a forum to see help with settings. If you’re on an official Linden Labs viewer, you’re going to want to search their Wiki to find information.

On the server side of things, everything is given a priority. Where an avatar is, in comparison to where your avatar is, is the first priority for the server when you land somewhere. Rendering their avatar if they’re within your visible area, also known as your draw distance, is second. Third and fourth are prim data and the textures, respectively, in your visible area. Last come scripts that directly affect or are controlled by you. While you may personally prefer a different order, this is the order than Linden Labs determined was most appropriate across the board, and is a major improvement over what they had when they first started.

If you’re experiencing lag while logged in, the first thing you can do is open your statistics window. You can bring it up quickly by pressing CTRL SHIFT 1 on a pc. You’ll see several headings including Basic, Advanced, Simulator, Physics Details, Time, and Time Details. These are all the factors affecting both you and the sim you’re on. The first thing in Basic is FPS which is short for Frames Per Second. This is how quickly your system is rendering everything that’s going on in your viewing area, specifically what you can see on your screen, at any given time. Packet Loss is how much information is being lost while your system is communicating with Linden Lab’s servers. Ping Sim is how long it’s taking, in milliseconds, for the server to answer your system in regard to information about the sim you’re on. The information from the Simulator heading is related to the sim you’re currently on and how the server is handling what’s on it. Specific descriptions for each section can be found here.

There is, generally speaking, only one thing that will lag everyone on a sim… a lot of avatars coming to the same place. This causes lag for everyone because the server has to go through the process of loading the new avatar for everyone who’s already there, and, in turn, everyone who’s already there for the newly landed avatar. This includes positions, textures, prims, and then lastly scripts. Everything happens for everyone in that area, all at once. Naturally, you should expect to lag. It has nothing to do with the person next to you who’s ARC is over 6,000 even though you’ve been taught all this time that it is. The only solution is reducing the number of avatars in that space. 

While all the information is great for you to have, it’s easier said than done to educate and inform others, especially those who are set in their ways. When dealing with those who aren’t aware, it’s best to take a passive position, and offer the information, but don’t push it on them. Land owners are free to set their own rules for their places, and this includes dictating the ARC’s of people who come there. You don’t have to agree with it, but respecting their position will be better in the long run, especially if you want to try and give them information about lag, such as what’s here and in the blog by Gwyneth Llewellyn.

It was pointed out that I should have included a quick bit of information regarding common methods to reduce inventory without deleting things. Tactics such as boxing items and taking them back into inventory, or putting things such as scripts, landmarks, textures, notecards, or even boxed items that have full perms on them onto a notecard does not help with lag. The asset server will still have to load those thing into your inventory to account for their existence in there. While those methods can be awesome for organizing, they're not effective in reducing lag. If you're wanting to use a method such as mentioned above and want it to be effective, my suggestion would be to box those items, or use the notecard method, then put those notecards into a box, but do not take them back into inventory. Also, allowing your inventory to fully load before jetting around the grid can help with lag as well, because the asset server is done loading these things, therefore won't be a factor until you introduce something new or delete something from the inventory.

This is the first informational blog I’ve attempted in quite some time, so if it falls short, I apologize. Please feel free to use the comment section below, and thank you for taking the time to read.


No comments:

Post a Comment