VintFalken.com

More on ARC aka Avatar Rendering Cost

May 2, 2008 11:40 am

Torley posted about the numbers that define the ARC - Avatar Rendering Cost - as declared by Runitai Linden:

  1. A base avatar begins with a score of 1
  2. 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!
  3. All attachments are then looked at on a per-prim level. The prims are weighted as follows:
    1. 10 base points for having the prim.
    2. 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.
    3. 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.
    4. 1 point added per meter, per axis, of the prim’s size. Rationale: Bigger prims are higher LOD and create more fill.
    5. 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.
    6. 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.
    7. Avatar Render Cost / ARC - Comparison4 points added for each animated textured face of the prim. Rationale: Animated textures break batches and require the use of a texture matrix.
    8. 8 points added if prim is flexi. Rationale: Flexible objects create a lot of CPU overhead and consume graphics bus bandwidth.
    9. 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! :)

And another note- ironically, the Avatar Rendering Cost display itself is CPU intensive, since it’s essentially profiling all the avatars all the time. So a good practice would be to walk around and turn it on when you want a glimpse- otherwise if you turn it on at all times, know your performance is suffering!

I tested some of my outfits for ARC values previously, and yes I must admit I keep it in the back of my mind when going to busy sims. Do you? Or is ‘Avatar Rendering Cost’ still a strange and surreal thing to you? ;)

7 Responses to “More on ARC aka Avatar Rendering Cost”

pia qi wrote a comment on May 2, 2008
MyAvatars 0.2

I’ve always kept this in mind when going to known laggy places or crowded venues. But once I was going to someone’s wedding and I knew that there would be a lot of extra people and stuff. So I put on non-flexi hair and primless clothes with no AO, only to get there and find everyone else dressed in flexibling o’rama, posing away. So I got to be the ugly girl that walked funny while everyone else looked gorgeous and the sim crashed. :P What was the point? I might as well have dressed up like everyone else and got to look great for the 15 minutes before the sim crashed.

QueenKellee Kuu wrote a comment on May 3, 2008
MyAvatars 0.2

a few things that seem to be missing in the equation are
1. the size of textures and
2. sculpties (which are really like 2 textures, 1 for the sculpt and the other for the texture of it)

small textures vs big makes a huge diff in lag, unfortunately this isn’t noted with the ARC.

Uccello Poultry wrote a comment on May 3, 2008
MyAvatars 0.2

I wonder, then, where the lag comes from when the Isle of Lesbos holds it’s famous “Nakie” beach parties. While not all avies are nude, the number of textures could be described as “skimpy” compared to other events with an equal number of Green Dots concentrated in one area. I doubt if flexiprims in motion are a greater drain than the same prims not in motion or moving less radically.

Cory Alekseev wrote a comment on May 3, 2008
MyAvatars 0.2

ARC is a major failure already. First of all because of the texture size not being taken into account (as noted by Uccello before me) and second because it basically creates a situation that can be considered a witch hunt.

“Hey you with your 5738 ARC points - take off your damn hair!”

It’s funny that LL themselves have advertised with all those fancy outfits and value the content created by the people on the grid so much but now they basically bash everyone who made high quality wearables.

I’ve read somewhere that the basic avatar without any attachments alone comes at 8 megabytes of data that have to be transfered.
EIGHT megs!
So basically their initial Avatar model is fucked up already and now they’re trying to cover their poor coding by pointing to all the evil people who’re wearing prim attachments.

Vint Falken wrote a comment on May 3, 2008
MyAvatars 0.2

I agree with Pia, if you notice others aren’t bothering to do something about their ARC count, then you are more likely to think ’screw them’. But even before ARC count was know, there were already great initiatives to keep (client side?) lag on full sims down. Take for instance the bandana’s sold at last year’s RFL fair? The Avatar Rendering Cost gives us something extra to ‘keep in mind’. I do know that if somebody tells me I have a 8000 ARC on a full sim, I’m likely to switch outfit. If I’m around 2000 for doing daily stuff? Well, so be it. It’ ‘me’ or ‘who I am’ after all.

QueenKelly indeed has a good point. Maybe drop a note if they wish to include it? ;)

Something that does is not taken into account either is wearing scripted items, as it causes the server to lag, not the client? An AO, a few huds (do they count as ‘worn prim’?), scripted ears, scripted tail, a gun, scripted nipples, …. ?

But I would not call ARC numbers a ‘huge failure’, Cory. It gives people a reference, although that one might not be complete. Efforts on the smooth running grid need to come from both sides, LL as well as the people who inhabit our virtual world. Would it be that bad if we ban hair that causes the ARC to go up with 5000 from our outfits? You’re likely to find a lot of fun hairstyles that will go for 1000 ARC.

I’ve read somewhere that the basic avatar without any attachments alone comes at 8 megabytes of data that have to be transfered.
EIGHT megs!

If you can tell me where you read this, I’d be very grateful and go take a look myself! ;) … And at the same time, we all beg for a better detailed mesh and a tattoo layer for our faces. *mrgreen*

[RESOLVED] Codename Pitchfork « Rheta’s World sent a pingback on May 5, 2008
MyAvatars 0.2

[…] range of reactions does oddly conform to the description, ranging from technical explanations (by Vint Falken, twice, and Tateru Nino) to the usual contradictory comments on the official blog and to opinion […]

[RESOLVED] Codename Pitchfork sent a pingback on January 9, 2009
MyAvatars 0.2

[…] range of reactions does oddly conform to the description, ranging from technical explanations (by Vint Falken, twice, and Tateru Nino) to the usual contradictory comments on the official blog and to opinion […]

Care to comment?