On scripts and performance

I have learned a lot over the past two years and now sell a bunch of stuff on the Second Life Marketplace, enough to cover the tier for the 64×48 parcel in a private region where I now live. It’s nice to now be financially self-sufficient.

My main project, which is music (and / or sound-design)-related, is on hold due to lack of time, and as I found it quite satisfying to make products that others want to buy, and which bring short term income I mostly spend time on that instead.

Something that I learned a lot about through making HUDs and dialogs (pop up menus) is the importance of keeping the number of running listeners to a minimum. I released product updates to ensure all my items use listeners as sparingly as possible (in many cases llMessageLinked can be used instead). And in addition to give users the option of deleting scripts once no longer needed.

Minimising lag should be front of mind for all SL builders and scripters but I get the impression that it is not. Many mesh fashion and hair attachments are bad at this. You get lots of items where a HUD can be used to change the colour. By necessity this has a script running all the time listening for a message on a certain channel from that HUD.

I would guess that 99% of the time the buyer tries out the colours then decides on their favourite and never changes it. And if the item is copyable the owner could easily make several copies, set the colour for each copy and then delete the scripts from those copies.

Yet many of these HUDs from the biggest names do not have a button to tell an attachment to delete its scripts. And in many cases the attachment is not editable so you can’t remove the script(s) yourself.

If I – an amateur beginner – can take care of this then why not the Blueberrys and Addamses?

Linden Lab could do more to incentivise this. I can imagine an equivalent the the efficiency ‘Energy Star’ rating which rates or ranks items sold on the Marketplace according to some automated metrics:

  • Number of non-deletable scripts
  • Number of listeners detected
  • Editability
  • Complexity / LI

An interesting interactive product may well justify being script intensive due to its features. But a pair of earrings would likely not justify it. The customer could then make a more informed choice.

I’m not suggesting that these items be blocked but labelling could inform buyers, and also incentivise builders to improve their products. It would be less feasible to apply this in-world but if a creator has to do it for the Marketplace they would most likely sell the same better-optimised product at their in-world store too.

Just some thoughts anyway. Lots of small improvements can add up a lot.

In other news I just caught up with Linden Lab’s blog post from the end of 2021. What stood out for me was this paragraph:

Over the last few months we have been busy optimizing our viewer and simulator, too. We have already made good gains that we are eager to share with the community as we deploy in the new year. An area of emphasis and success for us has been improved avatar rendering; initial test results show an increase from 25fps to 55fps with our new viewer with 20 avatars in the scene.

This sounds like a most welcome viewer improvement and I look forward to this among the other upgrades due this year.

Published by Rem

I’m Rem Voxel in Second Life

Leave a Reply

Your email address will not be published. Required fields are marked *