Saturday, 16 July 2011

The truth about lag and how to deal with it!

Anatomy of Lag

An incredibly informative post by Gwyneth Llewelyn, I didn't know a lot of the information in here and it really sheds light on what causes the different kinds of lag (server-side and client-side) and how to deal with them. Scripts aren't nearly as evil as people think. Ignore ARC altogether! You can get rid of that with your own settings. The only big and unavoidable contributor to event lag is how many people are there, moving about all over the place...

To summarise (as it's a long article)

*Scripts DO NOT cause lag*. No, really. They slow down other scripts though, so they're bad for vendors in particular. But they don't affect ANY other server- or client-side tasks, such as texture streaming (rez), chat, movement & physics, building, etc. etc. Main places to avoid large numbers of attachment scripts, then, are shopping malls (you don't want to affect the vendors!) clubs (likewise the dance animations) and places like scripted racetracks, combat zones etc. Anywhere that really depends on a certain sort of script to function properly. Don't forget you can set scripts in attachments to not running, if you don't want to delete them entirely (e.g. resizers). But to repeat, scripts only lag other scripts. If you don't use scripts, then you don't need to worry whatsoever about what other people are doing! Having said all that, I've now read the Phoenix wiki article on lag and that says that scripts DO lag sims. Well they can't BOTH be right :/ It's headache-inducing to have conflicting information like this and be expected to do the right thing by other SL users! Simplifications - "just delete all resize scripts" - don't help, because that isn't necessarily the best thing to do, if you want to be able to modify the item in future; but if you set scripts to not running, do they still cause problems? They are still counted by script counters.

Keep your draw distance as LOW as possible to see where you're going. The further you can see - which means the further your computer can see, not necessarily how far you are currently looking - the more textures you are requesting from the server, and that DOES cause lag. For everyone! At a crowded event (e.g. a fair) there will be huge lag in texture streaming even if everyone sits still, especially if people don't lower their draw distance. 20 high ARC, scripted, dancing bots cause less lag than 20 ARC=1, non-scripted, static people who are downloading textures from the server to their client. (For this reason, it is good to have enclosed shops with solid walls that stop you seeing anything outside a minimum draw distance of 64m. Alpha textures do NOT occlude, even if they appear opaque - IMO only idiots encode opaque textures with alpha. It's also good to economise on textures and only put them on the prim faces people actually see.)

MOVEMENT causes lag in two ways. 1) Sim lag, as it constantly updates avatar position. The more avatars, walking around, the more lag - sadly unavoidable at shopping events and especially fairs. (I'm assuming that if you use point-click tp, you will overcome this somewhat, as it only has to update one major positional change at a time instead of a series of steps.)*
2) Client-side - animations, *but not just from AOs* - ANY movement of the avatar, even the default pigeon waddle - at a big social event, it's better to try to keep still, ideally have everyone sitting in static poses or using synced movements (e.g. danceballs). AOs will probably not make a significant difference in the overall scheme of things, but this is why some events ask you to take them off. Spinning and jumping around on a default AO is as bad as wearing a complex fidgetty AO :p

*Of course here you have the trade-off of moving around the sim vs camming (with a high draw distance) and I don't know which is worse in terms of lag. Of course once you have downloaded all the textures, you can cam all you like without further affecting sim performance, so it's the initial *arrival* point of avatars that causes a lag spike. My guess is it would be best to come in with a low draw distance, wait a few moments on arrival to get local textures, then cam as much as possible, only moving on when you need to see (and download) a new area. Maps are helpful in this regard. Or, you could gradually increase your draw distance every few minutes - but sometimes you have to move, to see tiny prims and enable vendor scripts.

Local lighting will increase client lag as the illumination has to be calculated for each polygon as an avatar changes position. So unless you're trying to absorb the ambience and take beautiful snapshots, turning that off could help, particularly around people wearing facelights or under club spotlights. (I got this from the comments.) You can turn off shiny/bump mapping while you're at it, and also turn off advanced shaders (windlight settings). All those things make stuff look good but decrease client performance. Same with particles. If you don't need them because you're out shopping/hunting, turn them off. Other recommendations are to disable anisotropic filtering and anti-aliasing under Preferences → Graphics → Hardware Settings tab; and on Firestorm, disable http textures and VBO.

ARC is easily negated - instead of cussing at people with high ARC (avatar render cost) attachments, if you're suffering from client-side lag, you can easily overcome this by de-rendering everyone around you instead! Just go to your graphics preferences and turn on Avatar Impostors, setting the detail to low. Other people will simply stop rendering on your computer (if they are nearby, they'll look like an ugly set of polygons) and you won't have to worry about them any more. Incidentally, the high ARC on hair is mostly from tortured prims, probably not textures, since most of the hair will use the same 2-3 textures. You'll be getting a lot more texture streaming from the stores themselves. Also, the ARC counter is very inaccurate, and (as recently discovered) reported with a BIG difference on Firestorm. If someone yells at you for high ARC, first check if they are using Firestorm ;)

If need be, you can completely inhibit the rendering of other avatars under Advanced → Rendering Types → Avatar, but then you won't be able to see them at all and you might bump into people, which won't win you any brownie points, especially if you can move and they can't! You can also derender any one particularly annoying individual (or object) by right-clicking on them and selecting derender from the pie menu. I'm not sure if that's a good idea on some things which you might want to be able to see again in a different time/place, and I'd stick with the menu option which can be switched back easily.

Note that this page gives some slightly technical but not difficult advice on how to check that your preferred bandwidth settings are optimised for SL, which can also make a huge difference to performance, as you can have them set either too low or too high.

So if you really want to reduce lag for yourself: turn down draw distance, turn off advanced graphics settings and lower avatar imposter detail. Anything else is probably unavoidable and not fair to blame other people for. Simples! =)

Wednesday, 13 July 2011

A Morning in the [Real] Life of a Mother Dragon

Get up, put laundry load on to wash. Empty potty twice (yay!) Take child to nursery. 

Go shopping for new stickers and reward charts for toilet training. Buy much-needed new pair of sandals (old ones having hole in and being around 3x age of child). Nip home for quick breakfast and to harvest crops in Farmville. 

Collect child from nursery, who has earned third sticker of day (yay!) Take child to nearby park as it is sunny. Push child on swings. A lot. Child wets self while climbing rope net (whoops!) so take child home, fortunately having a spare change in bag from some previous occasion. 

Rinse through wet clothes & hang laundry. Come in to find child, for reasons known only to himself and the lords of Chaos, has unscrewed the salt cellar and poured salt EVERYWHERE. All over the table, himself, his high chair, the floor. Child is now sucking on empty salt cellar and saying "I like salt!" Send child outside while clean up. Reflect that in mediaeval times, this much salt would have ransomed a minor noble.

Make tomato soup with bread rolls for lunch. Child spills soup on shorts. Wash shorts with Vanish to prevent staining. 

Make coffee and (finally!) come to sit at computer. Child demands Zombies so put Plants vs Zombies on Daddy's computer. This will ensure pleasant, interruption free break until nap time at 2pm. Will have to fight hard not to nap with child as already exhausted, but napping is not conducive to early night's rest. Suspect will lose this battle. Coffee doesn't help. Feel like zombie myself. Blurgh, brains....

Thursday, 7 July 2011

In the Pink!

Highly unusual for me to be wearing PINK, let alone a sculpted skirt which doesn't flow nicely when you move, but this outfit was made for !!!FREE!!! for the PurpleMoon anniversary and it really suits my gold skin. The jewellery alone is gorgeous and could be worn with other outfits.

It's a 16 piece hunt and you have to join the group (which costs L$50; I'm already a member) but the hunt is not too evil - I drafted in Suzari to help because Jamie wanted me to help him with play-doh, but in the end I managed to find most of the pieces myself :)

Fledge in Bloom

Jewellery & Hair Detail


The full outfit consists of dress, shoes, jewellery (earrings + necklace), hair and prim nails. These are set to hand size 10, which is TEENY, but they are mod if you can be bothered and can't change your shape. I also had to resize the hair 10% which is typical for my big-brained bonce ;)

In case anyone is wondering, the odd grid lines in the background are my eco-dome which is my current skybox theme. It is full of beautiful, LOW PRIM trees! :D

Friday, 1 July 2011

Crazy Hair from PurpleMoon!

My first CRAZY HAIR POST! - One of my favourite SL dress stores PurpleMoon just had a hair sale. They only make a few styles, which are specially created for catwalk models who need to be low on lag but look distinctive. They are very low prim and non-flexi and look more like sculptures than hairstyles but I love them and so I couldn't resist snapping up four more styles to add to my collection! Here they all are, a few with some personal modifications - you know me, I can't resist tinkering!

I will just add that besides being low prim, the lack of flexi means that wearing these hairstyles keeps my ARC nicely down in the yellow (most are around 1300-1400 with the outfit shown); normal hair tends to push even the most unassuming outfit up into the red, and my current 'default' hair that you will have seen me wearing is quite low as hair goes, but still puts the ARC up to 1927. Incidentally, if you don't know about ARC and how important it is to reducing lag, then you should! You can ask me for an explanation ;)


The least unusual, and quite a classy ballroom style, Rie is only 20 prims. It has the slightest resemblance to carrying a Shoggoth on my head so maybe it should bear a warning - 'Don't tease the hair!' Maybe I'll mod some eyeballs into it at some point.


A very simple, 13 prim twist which I have modified by adding a flower I took off another style (not shown as I don't think it suits me). You can just see the flower over my ear to the side. It only adds another 14 prims and has the same hair texture, so is meant to look like the hair has been styled into a rose. The overall effect reminds me of Ascot (famous horse racing event in the UK where all the ladies compete to wear the most outlandish hats). I bought this style in the gem colour pack, emerald, fuschia and sapphire, because I thought the green version would look good with my Dryad avatar; tinkering with colour, I made the most serendipitous discovery and the above beautiful tawny, lion's mane shade is actually fuschia tinted with a sort of mustardy yellow. Who'd ever have thought it!


Era is the simplest of the styles at only 5 prims, and everyone who saw it said it looked like a flower vase, so I added some lilies (which I built myself). You will notice that it comes with a hair tattoo to cover the head as the prim part just perches on top like a hat. You can really imagine a fashion model wearing this, can't you? (Maybe without the lilies; but maybe not, you know what fashion shows are like!)


Ina comes in at a slightly higher 30 prims which is impressively low for such an ornate design. It reminds me of a spiral galaxy. I did consider getting this in the gem colours, too, but decided I could tint the gold which comes in this pack; I prefer black or gold/copper/fire colours for my hair.


I actually acquired this hair free with a matched outfit (but only in the black). I like how the fringe covers my eyes and you can only see the sparkle. It is a very eerie effect 'live'. I might experiment with glowing contacts. Uma is, despite appearances, only 16 prims but has a higher ARC than other styles (still only 1411 with this outfit). It would make good demon hair, I think.


Those who know me well, know my love of all things octopoid and tentacular, so the fact I bought this style long before the sale won't surprise you. I added the eyes on the back - couldn't resist! I may get around to adding a beak at some point too. The hair is only 19 prims (23 with eyes) and again with a colour coordinated tattoo base.


This was the first PurpleMoon hairstyle I purchased (again, pre-sale) as I could not resist the slightly Chinese, slightly chandelier-on-your-head look. At some point, I am sure I will mod a Christmas version of this hair, putting bauble textures onto all the balls. Am also thinking of giving it a lantern feel by colouring them red and enabling glow. It is primmier than the others, 254 prims which is higher than many standard styles; but the overall ARC of 2399 is very respectable when compared to one of my favourite flexi-styles from CalicoCreations (160 prims, ARC 4079) or the  Vixen 'Selenite' monstrosity which, at only 2 more prims, confers a whopping ARC of 6407 - I'm still not sure how the designer managed to get such a high ARC into a fairly mundane hairstyle. I don't wear that hair, by the way, I just keep it around for the OMGWTF value. It certainly puts PurpleMoon's 'One' into perspective!

So there you have it - my first, massive, CRAZY HAIR POST! 8D Look out for more in the future as I showcase some of the bizarre styles I collect (mostly from the Crazy Ass Hair Hunts) - but none will be as long as this one, which has taken me ages to put together, but at least I've showcased all my PM hair to date! Now I just hope it publishes, or I will cry...