Tuesday, May 12, 2009

First, Performance Issues

Second Life is a dynamic environment. If you have the right permissions, you can change the environment on the fly. You can create new objects, change the location and shape of objects. Or apply new textures to objects to give them a new look. In Second Life parlance this is referred to as 'building'. It is the act of creating the 3D environment. You can also change the behavior of objects. If a river is flowing east to west, you can change it to flow west to east. If a door opens on the right, you can change it to open on the left. In Second Life parlance this is referred to as 'scripting'. Both building and scripting make make the Second Life environment extremely dynamic which is why I said earlier that you can think of it as an extension of the imagination. However, there is a cost to all this dynamism. And that cost is performance.

When a simulator is slow to produce the 3D environment or when objects in the 3D environment do not perform their actions quickly enough it is referred to, again in Second Life parlance, as 'lag'. Here are some examples of lag. You might show up at a location and not see the location for a few minutes. You might appear in a crowd of people and not see the people for a few minutes. You might be walking across a room and your avatar looks like it is walking through molasses. You may raise your hand to ask a question and yet your hand does not go up. Or you may type a question into chat but not see the question until several lines later.

Lag is caused by a number of factors including the number of prims to be rezzed, the number of scripts running, and, yes, the number of avatars on the sim. This places a limit on the number of avatars that can be at one location. That number varies depending on how much lag you are willing to accept. However, a ball park figure for a maximum number of avatars in one location is 30. This creates problems if you want to have a meeting or a class or a conference with more than 30 people in attendance. When I teach my class in Second Life, I tell students not to follow me immediately to each location as having that many avatars show up at one location may crash the sim.

The solution here is to trade dynamism for performance. Unless you are having a meeting in which you are demonstrating or teaching building or scripting, you don't need that level of dynamism. Once the Second Life environment is created, it should be compiled down to a static environment and optimized for performance. Not only is it costly to have a sim for each 30 people, it is extremely inconvenience. Further, individual applications, such as meetings, can be optimized for different kinds of performance. For example, meetings should be optimized for gestures and chat, possibly also for displaying images such as PowerPoint slides or other media. A different application, say an amusement park, may be optimized for avatar movement and script performance.

The dynamic quality of the Second Life environment is wonderful for stimulating the imagination. And with imagination you can do almost anything. Unfortunately, with such a dynamic environment you cannot do anything particularly well.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.