Looking Good with Low ARC

Before the addition of the ARC meter to the Advanced menu of the Linden SL client [1], organizers at high-attendance events like fashion shows and similar shouted for you to leave off the prim skirts, remove the facelights and AOs and other scripted items, and generally strip down to almost the bare avatar.  This was to reduce the ever-despised lag, that beast that lurks in every region where the population exceeds 15 or 20, and reduces your movements to swimming in set treacle fudge.

Now we have the meter, and we can see exactly how much we’re straining the system server.  Or do we?  That’s a topic of hot debate, with one side insisting that high ARC affects everyone around you in the sim, while the other insists just as firmly that ARC is more a measure of what your own computer’s graphics card can handle, and that it’s really more of what the True Hackers of the Golden Age once called a “social-science number,” an artificial number with no true meaning.

My thinking is that it does have some weight and meaning.  Let’s go back to the original article on the introduction of ARC in the Big Blog — after the break.

Welcome back, and here’s the (longish, but revealing) quote from the original piece by Pastrami Linden [2]:

You’ll now see little numbers floating near everyone’s nametags. These will be either Green (Good), Yellow (Eh), or Red (Meh!)

What do these numbers mean? Well, your Avatar Rendering Cost is computed based on the relative cost of all those fantabulous features your avatar has hanging off of it. It’s done as follows…

– A base avatar begins with a score of 1

5 points added for each unique texture on the avatar (not counting the base skin). Rationale: Unique textures break batches, create CPU overhead for decoding, and consume GPU memory bandwidth. However, note that this is across the avatar- so two unique textures across 10 prims only count as two unique textures!

– All attachments are then looked at on a per-prim level. The prims are weighted as follows:

10 base points for having the prim.

1 point added if prim is invisible, shiny, or glowing (each counts). Rationale: Invisiprims/shiny/glow create a small amount of overhead by breaking batches or requiring an extra render pass.

1 point added for each planar-mapped face of the prim. Rationale: Planar mapping creates a small amount of CPU overhead that gets worse with flexible objects.

1 point added per meter, per axis, of the prim’s size. Rationale: Bigger prims are higher LOD and create more fill.

4 points added if prim has bump applied. Rationale: Bump mapping breaks batches and requires a register combiner, and creates a lot of CPU overhead when coupled with a flexible object.

4 points added for each transparent face of the prim. Rationale: Alpha creates a lot of overhead by needing to be sorted every frame AND by breaking batches.

4 points added for each animated textured face of the prim. Rationale: Animated textures break batches and require the use of a texture matrix.

 

8 points added if prim is flexi. Rationale: Flexible objects create a lot of CPU overhead and consume graphics bus bandwidth.

16 points added if prim is a particle emitter. Rationale: Particles create even MORE CPU overhead and consume graphics bus bandwidth.

Note that these weightings, and their resultant totals, are not a *perfect* measure of your cost- but more of a relative counter to weigh against other avatars. Point: it’s close, but it’s not scientifically perfect. For that, you’d have to delve deep into batch sizes and draw calls. These weightings and their description/rationales were written by Runitai Linden, one of our most senior graphics engineers and a man who knows rendering efficiency!

As you can see, the ARC isn’t a fast-and-firm quantity, but rather a scoring system based on weights assigned by Runitai when he created the ARC index.  But the rationales he used hold — because the sim servers still have to do that work!

Think of it this way:  every prim you wear, every texture not in the stock Library [3], every script you use and particle you emit — the sim’s computer has to render them for at least everyone facing you, plus you if you’re “facing” yourself (your camera’s pointing at yourself).  Each item takes various amounts of computing horsepower, which is added to by everyone else around you.  This is the load the poor, unpaid, laboring server computers have to put up with, and what causes lag.  Or, if you want an analogy on your own machine, think of someone running a browser, an E-mail client, and a torrent downloader such as BitTorrent with 5-6 downloads and uploads going — all at the same time.  No matter how good your box is, it doesn’t matter if you just brought home the latest screamer from the computer store, the poor computer is going to thrash trying to handle all those net calls at the same time.

So the ARC number has some reality attached to it as well; and if you don’t cut down on your prim/script/etc. load when you’re attending a party or dance, you’re making the server groan trying to keep up with you. Plus, back to the main question, your own computer is going to be groaning at least that much trying to do all the actual drawing in the client window! So it’s a double-edged sword, both for server and client. Add other factors, such as large draw distance and a high particle allowance in your Preferences box, and your client will act like it’s pushing frozen molasses instead of electrons.

It’s not just one person, though.  Every single person in attendance is adding to lag load, and is therefore responsible for his/her/its/their cost.  At costume parties and similar purely social events, most people are willing to stand the lag, and put up with jerky movements at times.  But if you’re at a business-oriented event such as a meeting or fashion show, you don’t need to show up in a bouffant updo and ball skirt, with flapping wings and shooting fire from your eyes; neither do you need to be there in the latest space armor with glowing joints and a lightsaber that would light up the room.  Even simple facelights use up resources, and can be dispensed with when the spotlight is supposed to be on someone else.

So be kind; when you’re asked to shuck all that jive stuff and keep it simple — do it! Everyone will have an easier time — including yourself.

=====

So what does this all have to do with “looking good with low ARC”?  I know; it’s taken me a long time to get here; but I’m university trained.  I have to lay the groundwork.  The thing is that, if you go to the right designers, you can put together a wardrobe of items that don’t invoke gobs of prims, and still look insanely stylish.  No, you won’t be the cynosure of the room — but do you need to be every single moment?  Remember the girl Billy Joel was singing about in “Big Shot”!

Oh, you want proof again?  Take a look at this:

The picture is from Cajsa Lilliehook’s blog, It’s Only Fashion, co-written by Gidge Uriza, and comes from their article of yesterday, “Hello, We’re the ARC Police.” They were talking about how they were heading to a fashion show, and they wanted to be good and help out on the lag question.  It didn’t take long for them to scrounge up snazzy looking system skirts and low-prim hairstyles, all without bling or scripts, from their Inventories and get primped up.  The one exception might be Gidge’s boots, but even then the prim load is low compared to some flexi-skirts out there — even for daytime or business wear.  Gidge (on the left) had a grand total ARC of 364, and Cajsa only 251, both well within the green zone.

And, for a pair of examples from me:

The corset and pants in photo 1 are, of course, system-level clothes, and so cost no prims, no ARC.  (Though I’ll confess I left off the cuffs from the jeans; but you don’t need cuffs.)  The hair and Detour sneakers with their prim soles are the only things eating resources here besides texture, and so my total ARC is just 300.

If you want to be even more sophisticated, go for photo 2.  This lovely, textured cocktail sheath is from Little Rebel, mistress of system dresses, who Cajsa turned me on to some weeks ago.  Color is provided by the highlights in my hair — the same style as before — and a pair of simple gold heels, again from Detour.  Total ARC — only 172.  If you added a belt, it might raise the cost up by, say, 25 or 50 points, depending on how elaborate you made it.

Yes, the extras are fun; yes, the extras make you individual; yes, the extras make a statement.  But yes, the extras cost everyone in the end at functions that don’t need the bloody extras.  Leave ’em back at your house.  You might find you look a lot better in the end, too!

Oh, you ask, “Why should I, then, when nobody else is?”  As Mr. T would have said, “Pay attention, fool!”  You can’t control what others do, but you can your own actions!  And if you set an example, others may begin following…!  So why not try it…please???

=====

[1] You can reach the meter by bringing up Advanced | Rendering | Info Displays | Avatar Rendering Cost. Can’t find the Advanced menu? Do a Ctrl+Alt+D or Ctrl+Alt+Shift+D; on a Macintosh, the combo is Option+Shift+Open Apple+D. Then look to the right of Help on the menu bar.
[2] Pastrami Linden. “‘…Who me? Yes you! Couldn’t be! Then who?…’ INTRODUCING AVATAR RENDERING COST.” Official Second Life Blog, 5/1/2008, 3:06 p.m.
[3] Yes, the mysterious Linden Library does exist; look at the bottom of that overstuffed Inventory of yours, in case you’ve forgotten.

Harper's signature