Laggin’ in Istaria!
June 18, 2007
With the SIM lagging very badly (even without DarkLife players) I thought it might be a good idea to write something about LAG in general and also give you some details about the lag in Istaria Prime.
It took me some time to find out how things work exactly, so here’s what I understand from it (you’ll need to be a little technically interested to understand this I guess):
The SL servers consist of a few systems:
- Networking, taking care of communication with clients
- Physics, taking care of collision checking etc. (for example: your avatar will not walk trough a wall)
- Scripting, runs the scripts in all objects, and handles everything that has to do with scripting such as messages, events, sensors etc.
Ofcourse in total there is much more to it (even the statistics bar shows more systems) but it’s a good summary.
Now when avatars are inside a SIM (or nearby) the processing time for networking and physics increase. The servers are designed to keep a steady framerate of 45 FPS. This means that each frame would take 22.2 miliseconds (1000/45). When the frames are starting to take longer then 22.2 ms (meaning the FPS on the server would drop below 45) the time allowed for LSL scripts is reduced. That means the server will NOT start lagging when lots of people are on the SIM, but instead all scripts will be a tad slower (as much as needed)
A very good idea from our friends at LindenLab, but if this would really work, why is Istaria having framerates that are way below 45 then when there are only 2 people on the SIM???
Now it’s possible to look up the frame time for the server (everybody can do it, press ctrl+shift+1, and click on the ‘frame time’ once). So ofcourse I looked at the frametime in Istaria Prime and there is defenitly something odd going on!
As I said script time is reduced when the load is high, so scripts alone cannot ‘really’ lag the server, they can only lag other scripts. Now it’s very clear the server for Istaria Prime IS lagging. The FPS is way below 45, and the frametime is ofcourse much higher then 22.2 ms. So what is causing the LAG?
Well right now there are only 2 or 3 people in Istaria Prime, all doing nothing but standing still. So physics-time is very low (good), Net time is good. All is good… except something called ‘Sim Time (Other)’. It’s more then 15 ms! Normally this is only a few ms, even with high load and massive lag in Navora I never really saw this one high. So what is this magical ”Sim Time (Other)’. ?
Well LindenLab defines it as:
“The amount of time that frame spent running other simulations (agent movement, weather simulation, etc.) “
Well honestly I am confident it’s not the ‘agent movement’, neither is it ‘wheater simulation’ (should be steady always). So it MUST be the ‘etc.’ part of their great explanation!
Obviously we are dealing with some kind of SL bug here. So my conclusion is: I can’t do anything myself, it’s not DarkLife that causes lag, it probably isn’t even someone else in Istaria Prime causing the lag… but once again it is LindenLab messing things up again!
So hopefully we’ll either be able to move to Navora real quick, or the problem solves itself, or LindenLab fixes this issue (I wouldn’t bet on that last one).
And for WHEN this bugged lag is gone, I have a few pointers that would greatly help when lots of people are playing! Please DO NOT do the following:
- Using gestures that repeat attack or other backpack commands over and over again. Once again: the battles are ‘turn based’! All monsters and all players can do a move every 4 seconds (unless it’s a potion). When you give a command it will be remembered and only executed when ‘you’re on turn’! So when your 4 seconds of waiting is over, the backpack instantly executes the command it remembered. And in the case of attacking, it will automatically do a new attack-command. What happens if you give the same command over and over between your turn? It ignores them! The backpack understood you the first time you said attack! But this ignoring takes time, your command has to be compared to a list of commands to determine what you want. This means you are keeping your command script very very busy, and then, WHEN your turn finally comes and the command script is asked “what is his/hers next move’, the command script is actually SLOWED down in answering that question, meaning you attack will be DELAYED! So again what happens when you spam commands: You’ll attack SLOWER, and you’ll also be lagging the SIM too! Please don’t do that!
- Bumping & jumping: Every move you make causes the phsyics engine in SL to calculate more stuff. If you are bored please don’t start bumping and jumping around! Standing still causes less lag
- Using your own scripts: most people probably don’t know how their scripts for AO’s or other items operate. If a N00B made your scripts (or someone not caring about performance), it might be VERY ineffectient and laggy, causing darklife scripts to slow down. If you haven’t written or read (and understood) the code from your scripts, please don’t use them! You might be lagging the whole game, just to have a little bling bling on your golden watch!
- Do not repeatedly click on anything. This is always useless: you can click 100 times on a monster in 2 seconds, but this will give the exact same result as shouting 100 attack commands: it will lag the game, and slow your backpack down, making it harder for you to kill monsters!
- If you plan to not play DarkLife for a longer while, but you still want to chat with the players, please take of your backpack and gear. Ofcourse I did my best to make the backpack efficient and all, but it’s still a complex system for SL, so the less backpacks on, the better!
And back again!
June 18, 2007
Besides some bruises and scratches ALL the members of my climbing group survived the weekend, including me! And that’s good news, because I’ll go right back to fixin’ stuff in DarkLife!
Some players I’med me about loss of EXP; don’t worry, all your stats are recorded every 5 minutes, so I can see how much you lost. A new feature of DarkLife 2 is also that I can now add EXP while you are offline. So the next time you wear your backpack you will receive the lost EXP from me, and maybe when I’m in a good mood, even a personal message from me
(please note that I’m not at home right now… still 6 hours before I can give EXP)
I will also look at the problems with no gold on the corpses, and the repair equipment problem on the blacksmith!
See you in DarkLife!
Away for the weekend
June 15, 2007
It’s a bad timing with the recent release of DarkLife 2, but this weekend I will be gone for some rock climbing in Belgium. Rock climbing it an awesome sport! If you ever get bored I highly suggest it! It’s both mentally and physically challenging, and ofcourse it’s very exiting, and a good way to get rid of your fear of heights
Anyway, hopefully the SIM won’t crash too much, but just leave an IM and I’ll add your EXP’s when I get back. For some reason SL decided that some people were named ‘(waiting)’ (at least when you use HTTP-messages) so some people I can’t find without knowing their key. Please sent your key too if you lost EXP, I will also put down your name in the database then for next time
You can get your own key by making a script and putting this line in the state_entry():
llOwnerSay((string)llGetOwner());
The result is a script that will tell you your key. That’s an unique 36-character identifier, that I can use to find you in our database (if your name wasn’t recorded) and check your EXP loss! So just include that key in your IM!
Wish me luck, hopefully I will come back alive, because I need to work hard on DL2
If I don’t come back because my rope snapped, for the record: I leave DarkLife to Crash Prefect, but he has to give my girlfriend part of the profit!
Haha don’t worry I won’t fall
See you next week!
