There is not much news yet this year. But, there is a little. First there have been no rollouts to the main channel or RC channels for two weeks because of the holidays. Maestro Linden says the Second Life™ servers have not been bad for two weeks without restarts. Things do slow, but otherwise not bad.
Coming Up
Caleb Linden is working in the Phase II Multi-Threaded Region-Crossing code. Two weeks ago a pile on test was done. Some issues were found and fixes are in progress. If things go well, the code may rollout to an AGNI RC channel next week (2). I think that is pretty impressive. But, there may be some problems so, don’t get too excited.
Caleb says, “…the The GC Test regions are still up, so you can play around there.” If you want to test out the region crossing code see the pile-on instructions.
Interest List
Andrew Linen said that the Interest List code may rollout to an AGNI RC channel next week (2). There are a couple of bug fixes winding through QA. They may hold the code back. If the code passes QA we will see the new code.
Pathfinding
VoidPointer Linden is working on Pathfinding characters. A new option may get added: STAY_WITHIN_PARCEL. Void described it as:
“If set, the character will only set goal points during wander, evade, pursuit, etc that are within the parcel they get created in. If the parcel is disjoint, they can still travel between the pieces of the parcel, but their goal points will only be within the allowed parcel.”
This feature is just in initial coding, so how it will work and how constrained a character will be is still undefined. Havok has some features that may be called on to help constrain the character to a parcel. But, it is far too early for the Lindens to be saying much. I think this only made it out because the agenda was pretty light.
I have run into character return problems when I set the wander parameter to include an entire region and some large parcel has a fast return time. So, I would like to be able to detect return time so I can have the character run for it. Once returned he is done until I re-rez him.
For now I am considering saving a location on the exit event and then seeing if I can use that to avoid a parcel. Void is going to think about the problem. I’m going to think about a feature request.
On an interesting note… This is a picture of an avatar that is a flock of bats. They even appear to flap their wings. It is actually pretty awesome as the herd changes shape.
Rez Code
Baker Linden is on a new project, the Rez Code (Jaws music). It seems when a large object is rez’d it troughs a load on the region. As the rez code is part of the main thread the region/simulator locks up with the task. That causes the simulator to stop communicating with adjacent regions/simulators, which in turn can stall them as they wait.
Baker is moving the code into its own thread and out of the main thread. This will allow the rez to happen in its own time and allow the simulator to continue communicating with its neighbors. So, while we probably won’t see much difference in rez performance of objects we may see some mini freezes and lags of regions reduced.
Baker Linden describes it as, “Baker Linden: What I’ve been working on is hopefully significantly decreasing lag spikes when rezzing large, complex objects. Large does not necessarily imply size, but size of the files being read. When an object is rezzing, we have to parse the object / mesh files and create our in-world objects with that data. Until now, the reading and parsing of the file has been on the main thread, which means when lots of objects rez, our simulator stalls.
…
Hopefully, we’ll be able to handle multiple complex objects being rezzed at a single time without much lagging.”
Simulator vs Region
In the discussion on Rez Code I learned that there is only one region per simulator. The Lindens tend to overload the word ‘simulator.’
Because of my use of OpenSim I assumed there were multiple regions in a simulator instance. That is the way I run my 9 regions in OSGrid, which I haven’t run lately. But, the Lab runs one region per simulator and multiple simulators per server.
Region Restarts
Some people are seeing random region restarts. If you are running into it, file a JIRA and consider starting a forum thread.
Sudden Massive Lag
It was hoped this problem would be resolved by the last rollout to the main channel. I am not sure it was, but I haven’t been in SL enough over the holidays to have a sense of whether it was fixed or not.
However, today Toysoldier Thor posted in the forum:
So as bad as these instant sim lag crashes have been over the past 6 months, over the past few week either this problem has morphed into a new symptom or we now got a new type of serious sim stability bug on our hands. It is being noticed at a lot of busy events and the venue owners, artists, and SL resident attendees are becoming even more frustrated.
At times during many of the larger events, a large number of the attendees at the event instantly crash (often including the singing artist themselves). It does not happen that ONE person crashes… it will be like 5 or 10 attendees just crash off the sim at the very same time.
On Jan 1 I went to a new sim venue where they are having grand opening music events. About 40-50 ppl were at the event including me. During that time – 3 times I instantly crashed along with the singing artist and several others. The funny thing is that it is not all the attendees and the sim does not crash either.
This has also been happening on several other sim / venue / events so its not just one isolated event. This new serious stability symptom is being noticed by the community and is often part of the discussion the artists mention while on stage (i.e. how bad the SL grid sim stability has gotten and their apologies to all those that have attended the event).
I suspect this might moreso be a bug with the latest Firestorm release (which we already know it has a major bug with the music streaming). But since the LL Instant Sim Hang root cause has not been figured out – there is a chance its a combination of the sim code instability and the latest Firestorm code.
I suppose that one could say the problem was resolved and a new one appeared… it is frustrating to event owners. So, if you are seeing the problem, add to the thread and file a JIRA. (Thread)