Saturday, 10 May 2008

Avatar Rendering Cost & Jewellery - Some investigations into reducing ARC

I was a little bit concerned when I read on the Official Linden Blog a few weeks ago about "Avatar Rendering Cost" having just built an absolutely gorgeous, highly detailed and very high prim ring. Would people want to buy fine high prim jewellery once ARC hit the main viewer?

As I routinely use the Release Candidate viewer (unless it has an unbearable bug) it didn't take me long to take a look at how big the damage was from my new design. Ouch! In the red. I wasn't surprised. But it left me wondering.... how does ARC actually work in practice, in what ways could I reduce the ARC of my products, and how would that affect the aesthetics of my work. Would I really have to resort to flat prim texture diamonds?

Over the last few days I have done some "research" - a.k.a. playing with prims. Some of the things I have learnt about "ARC in practice" aren't obvious from the Linden Blog, and some seem to be in direct contradiction. Having chatted to a few designer friends about my findings, I decided to write them up on my blog, so as to share them with the SL(TM) community - perhaps you might find this stuff helpful, or it might help you in your own research.

A quick summary of the key things I've learnt.
  • Transparency is THE single major contributor to ARC. It counts for a score of 4 for each PRIM FACE it is used on - so, a transparent cube counts for 24 in ARC.
  • ARC is not always directly related to number of prims in an attachment (see below)
  • Shiny & Glow add to ARC on a per prim basis, but far less significantly than transparency.
  • Shiny/Glow/Transparency are "all or nothing" costs - low shiny costs the same as high shiny, glow of 0.01 the same as glow of 1.00
  • Multiple attachment's total ARC is not equal to the sum of the individual attachment's ARCs if they share the same texture(s) - the cost is for unique textures (see example below)
  • I've not considered flexi-prims at all as I don't use them. Sorry.

Regarding prim counts and ARC

The most surprising find, for me, has been what seems to be a direct contradiction to the explanations I've read regarding ARC. From the Official Linden Blog ::
"All attachments are then looked at on a per-prim level. The prims are weighted as follows:

- 10 base points for having the prim."

From this, it would seem that any attachment would therefore have a minimum ARC of 10x(number of prims). My experiments, measuring ARC directly, in-world, showed that to not be the case. I didn't test this with normal sized prims as I work with tiny prims, so this is perhaps a feature of tiny prims, their smaller size costing less rendering power, or perhaps it's a bug in the ARC software, or even just me! (I'm blessed, lol). But, certainly for jewellery it seems that high prim counts do NOT in themselves mean a high ARC! Good news for jewellers (and jewellery lovers)!

OK, enough writing, time for me to show you some visual examples. I've written a summarised explanation beneath each picture with the simple maths used.

In the first of the two examples, I have used a simple set of jewellery and looked at what happens to the ARC as I add individual pieces. The jewellery used has no glow, shiny or transparency (~flirt~ Laynie Necklace & A'Dior Earrings Set in Plink).

:: Image 1 ::
:: Image 1 ::
Baseline (clothed) ARC = 479

:: Image 2 ::

:: Image 2 ::
Baseline (clothed) ARC = 479
Baseline + Necklace ARC = 494
Necklace ARC = 15

Necklace has 84 prims
Total Prims = 84

:: Image 3 ::

:: Image 3 ::
Baseline (clothed) ARC = 479
Baseline + 1 earring ARC = 494
1 earring ARC = 15

Earring has 7 prims
Total Prims = 7

Note :: An earring of 7 prims has the same apparent ARC as an 84 prim necklace.

:: Image 4 ::

:: Image 4 ::
Baseline (clothed) ARC = 479
Baseline + 2 Earrings ARC = 504
2 Earrings ARC = 25

Earrings are 7 prims each
Total Prims = 14

Note :: Two of the same attachment does not equate to twice the additional ARC, presumably as no new UNIQUE TEXTURES are added.

:: Image 5 ::

:: Image 5 ::
Baseline (clothed) ARC = 479
Baseline + Necklace + 2 Earrings ARC = 514
Necklace + 2 Earrings ARC = 35

Necklace is 84 prims
Earrings are 7 prims each
Total Prims = 98

Note :: Again, the total additional ARC is not equivalent to the sum of it's parts. Textures are only counted once, however many times they are used.

The second example also shows how ARC appears to be unrelated to total number of prims in the attachment. More importantly, it shows how ARC can be significantly reduced, with minimal change to the appearance of the jewellery, certainly not enough difference to be noticeable at un-zoomed distances.

I have used the ring mentioned right at the start of this post. The first set of images are of the ring as I'd originally designed it. These are compared with a copy of the ring which is unchanged apart from removal of all transparency and shiny. I've called these "High ARC Version" and "Low ARC Version" respectively.

:: Image 6 ::

:: Image 6 ::
Baseline (clothed) ARC = 479

Baseline + "High ARC Version" ~flirt~ Tiffany Ring, ARC = 1705
Therefore, "High ARC Version" ~flirt~ Tiffany Ring ARC = 1226

Baseline + "Low ARC Version" ~flirt~ Tiffany Ring, ARC = 489
Therefore, "Low ARC Version" ~flirt~ Tiffany Ring ARC = 10

Number of prims = 178 (both versions)

This huge reduction is ARC is from JUST turning off shiny and transparency on any prim that used them, no other changes were made.

:: Image 7 ::

:: Image 7 ::
"High ARC Version" Ring in build mode :: note number of prims = 178

:: Image 8 ::

:: Image 8 ::
"Low ARC Version" Ring in build mode :: note number of prims = 178

The following images are taken at full zoom in the same light settings. Whilst the snapshot hasn't been optimised for aesthetics, these images give a good comparison of the changes in appearance with removal of transparency & shiny (as well as showing up all the flaws in my workmanship :p).

:: Image 9 ::
"High ARC Version" ~flirt~ Tiffany Ring

:: Image 10 ::
"Low ARC Version" ~flirt~ Tiffany Ring

What the photographs don't show is the slight reduction in "twinkle" between the two versions due to the semi-transparency of the diamonds , an effect that I, personally, like.

So, where does all that leave me?

Well, I will, and already have, be making some changes to the way I build and how I sell my designs. I don't think it is up to me as a designer to tell my customers what they should or shouldn't wear, or if they should or shouldn't be aiming for a low ARC at any given time. However, I can inform them of the rendering cost of my products, and I can give them choices.

As of this week's release, all jewellery I design will have it's ARC at the end of it's name ie. ~flirt~ Tiffany Ring [ARC10], so that customers can see, before they buy an item, if they can sensibly wear it in the way that they wish. Where it is appropriate I will include low and high ARC versions in the folder/box so that someone could, for example, wear the low ARC version of their engagement ring whilst shopping and clubbing, but put the high ARC twinkly one on for special occasions or photographs.

I would LOVE to see other designers follow suit. The most bizarre things have extra-ordinarily high ARC's. A guy I was chatting to today at a party whose initial ARC was over 10000 found that the major cause was..... his prim ears! Who'd have thought it! As a designer I feel we have some responsibility to not put things out there that are that lag-inducing without fair warning now that we can measure this so easily.

I'd love your feedback and thoughts.


Efemera Bisiani said...

What a great post, and how intriguing what actually does contribute to the ARC. Absolutely stunned at the difference between the high and low ARC rings for such minimal difference in appearance. Major props for making the time and effort to investigate this. /me will certainly be making the time and effort to investigate your store!

Silky said...

Educational and informative...How refreshing...Will check out your store as soon as possible..Nice to see someone who cres about more than just the $L......

Chi Junot said...

Great work. Your results regarding prim count make me wonder whether there is a reduced cost for reusing the same shape/size prim in the same way that there is for reusing the same texture.

It will be quite interesting to see if LL changes the way they calculate ARC as we all gain more experience with this.


1angelcares Writer said...

Kudos for a clearly written and topical blog post on a subject that affects so many of us. You have won a new customer to your jewelry store and a new fan of your blog!

sandyxxx said...

Wow they are gorgeous earrings. I am envious of anyone who has the patience to make something so delicate.
silver jewelry manufacturers