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
Therefore::
Necklace ARC = 15

Necklace has 84 prims
Total Prims = 84


:: Image 3 ::

:: Image 3 ::
Baseline (clothed) ARC = 479
Baseline + 1 earring ARC = 494
therefore::
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
Therefore::
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
Therefore::
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.

Thursday, 1 May 2008

Your vote needed - PJira issue [#MISC-1124]

Do you, like me, keep an eye on the Fab-Free or FREE*STYLE blogs/groups and take advantage of the fantastic freebies designers make available to their groups? Do you have "IM to Email" turned on? If so, you may well have come across this problem and, like me until this morning, not understood there was a bug underlying it.

It seems that if you have joined certain groups, Muism, magi take shop, and 369 amongst them, even if you have left the group you may receive offline emails from the group owner saying "You have a message from [Group owner's name] waiting for you in Second Life. Log in to see it." This was NOT sent by that person, and they are completely unaware of it.

Despite it not being their fault, the persons named in the emails have been the recipients of abuse regarding this. To quote from one profile ::

"I've received IMs abt emails saying there r msg from me waiting for u in SL. If u don't see msg from me after logging on, it's definitely SL playing tricks on us. I've logged ticketsss to Linden. It's a technical issue NOT caused by me but if I could walk into Linden lab to pull the plug I would. So if u want this to stop, log your tickets too. I am usually not rude but I have to ask u to STOP IM or sending me notes on this & if u swear at me, I promise I will report the abuse. "
[Name withheld so not to worsen her problems]

If you have received ANY of these emails, or even if you haven't, but think this should be fixed, I would urge you please, take a few minutes and vote on [#MISC-1124]

If you have never voted on the Public JIRA, below are instructions::

  1. Click HERE
  2. At the top left click on "log in"
  3. Log into the JIRA using your normal second life name and password
  4. You will be taken straight back to the correct page for [#MISC-1124]
  5. Look at the column on the right hand side
  6. Scroll down until you see "Voting"
  7. Click where it says "Vote For It"
  8. Your name will be added to the list of voters

Linden Labs prioritise which issues are addressed in which order partly on how many votes the issue receives, so PLEASE, make a small difference and vote. Thank you.