Content creation guidelines for lag-free worlds

General discussions related to content creation
User avatar
Ilan Tochner
Posts: 6503
Joined: Sun Dec 23, 2012 8:44 am
Has thanked: 4942 times
Been thanked: 4454 times
Contact:

Content creation guidelines for lag-free worlds

Post by Ilan Tochner »

The following list is not exhaustive but it does cover some of the basic recommendations for creating responsive worlds:

DO reuse objects, assets and textures after uploading them once into Kitely.
DO NOT upload multiple copies of the same assets.

DO use the lowest texture resolutions that still looks good for the object inworld when viewed at a reasonable distance for that object's placement in the world.
DO NOT use 1024x1024 texture resolutions unless the object has a large visible surface area or is used in multiple objects in the world that have a combined large visible surface area.

DO use scripts that change object properties just once when the world starts.
DO NOT use scripts that constantly update objects.

DO use object's texture properties to create texture animations.
DO NOT use scripts that constantly update objects.

DO use scripts that are triggered by an inworld event.
DO NOT use scripts that constantly check if a condition exists.

DO make objects phantom if possible.
DO NOT make hallow objects (or linked objects that form a hallow object) non-phantom.

Update (Aug-16-2015): see this comprehensive guide for how to optimize your world performance: https://kitely.atlassian.net/wiki/displ ... erformance
These users thanked the author Ilan Tochner for the post (total 17):
Constance PeregrineAda RadiusDundridge DreadlowRuby O'DegeeMin TigerpawOzwell WayfarerCarlos LoffSerene JewellPraline BLorelei Seetan and 7 more users
User avatar
Ada Radius
Posts: 435
Joined: Sun Dec 23, 2012 6:20 pm
Has thanked: 659 times
Been thanked: 545 times

Re: Content creation guidelines for lag-free worlds

Post by Ada Radius »

I wish I could put three thumbs up here, or more.
And it's another argument for a one sim welcome center, so our visitors' graphics cards only have to process the textures from one sim's worth of textures.
Dot Macchi
Posts: 219
Joined: Sun Dec 23, 2012 12:15 pm
Has thanked: 75 times
Been thanked: 207 times

Re: Content creation guidelines for lag-free worlds

Post by Dot Macchi »

These users thanked the author Dot Macchi for the post (total 2):
Ozwell WayfarerTheMad Tadder
Dot Macchi
Posts: 219
Joined: Sun Dec 23, 2012 12:15 pm
Has thanked: 75 times
Been thanked: 207 times

Re: Content creation guidelines for lag-free worlds

Post by Dot Macchi »

And two more posts from Ener's blog iliveisl, this time on prims:
These users thanked the author Dot Macchi for the post:
TheMad Tadder
User avatar
Constance Peregrine
Posts: 2348
Joined: Sun Dec 23, 2012 11:35 am
Has thanked: 2778 times
Been thanked: 1479 times

Re: Content creation guidelines for lag-free worlds

Post by Constance Peregrine »

I always enjoy ener's since of humor-))

ctrl shift R shows wireframe mode...
Laissez faire et laissez passer, le monde va de lui même!
My little sounds store https://www.kitely.com/market?store=2040306

Ephemeral wanderer...
User avatar
Ada Radius
Posts: 435
Joined: Sun Dec 23, 2012 6:20 pm
Has thanked: 659 times
Been thanked: 545 times

Re: Content creation guidelines for lag-free worlds

Post by Ada Radius »

Thank you Dot, I'm happy to help. Ener's posts are excellent, though I'd go further in some areas:

That texture could be even smaller:
The concept that I try to carry through is to start with the smallest possible and increase only as needed. If a 4x4 will get it done, great, if not, 4x8, 8x8, and so forth in exponents of 2. It takes some persuasion with builders new at this, who think that if they can get a beloved 1024x1024 down to 512 and 256 they're doing well. And they are, for personal use sims, but not for public use sims, where visitors and audience are bringing in so many textures, that the sim itself had better be efficient, or there'll be video card crashes, gray blobbies, lag-walk and garbled sound.

Planning and teamwork
One of the things we learned to do when designing a live virtual theater set and avatars is to set up a central place or person to keep track of the pixels. The build and avatar teams come up with their minimum needs, we bring images in if we don't already have them, and everyone works from the same set. We add textures cautiously as we need them and as people come up with ideas - it's OK to spend bandwidth on important visuals, it's not OK to waste it on redundancies or textures that are too big for their purpose. It's harder to fix after you've got too many pixels out there, than if you plan it from the start. Yes, there are passionate debates and tellin each other we suk and are cra-cra idiots - artists can be quite sensitive, to their own feelings, anyway. The last big project I was directing, I delegated when I could to minimize arguments. One artist was in charge of color, so, for example, with two light more-or-less neutral toned 256x256 woods that were used on hundreds of faces with different tinting and repeats, she made sure that if it needed to match or coordinate, everyone had the right RGB values. She built a board so we could use the eyedropper thingy. If she said a color, either tinting or in the texture itself, was wrong, that meant it was wrong.

Library textures are too big!
The smallest texture that can come inworld is 4x4. The OS and SL Library default blank and alpha textures inexplicably are 8x8, which is four times as big. So those two textures are the first that go into the box. Wigs and plants alone make this one worth while - yes, all those invisible edges and blanks have to be read by your video card. Some of the so-called "best" hairmakers iSL are truly appalling at this.

Avatar system layers
Avatar skin and system layer clothing defaults to 512x512, so for theater productions I economize by combining skin and clothing layers, when possible. We could try that for giveaway stuff, maybe, as an educational thing.

Efficient textures
Designing smaller textures is not easy - I learned a lot from working with Arcadia Asylum builds, though I'm not nearly as good. But if you get it right, one texture can be used for many purposes with different repeats, offsets and tinting. The mistakes I usually see are: identical repeats on a texture when only one instance is needed, several similar textures in different colors when one would do with subtle near-neutrals and then tinting inworld, or a texture with a border plus one without, when stretching and offsetting the first would achieve the goals of the second. Also not taking advantage of sim lighting to get light and shade effects, or not re-using the four 512 region textures for buildings and shrubbery or whatever else you can think of. Or using 3 similar 128x128 sculpties, when one 64x64 rounded cube would probably do it with some resizing. Now that nearly everyone has a mesh enabled viewer, we'll phase out a lot of sculpties anyway.

Here's an example: for productions of Alice, one of the designers handed me a well thought out purse sculpt map and it's blue-with-an-ivory-beaded-border material, which I think was a 128. We were able to use that sculpt and material for her purse, ribbons and bows for her dress and hair, along with bits of costumes and props for Tweedle-Dum and Dee, the White Queen and King, Humpty, the Unicorn, the March Hare and I forget who else. The fabric part could be offset, stretched or shined to look like velvet, satin, shoes, a toy, or dinnerware, and with the beaded border, wallpaper, armour, belts and bonnets. The sculpt map went into dozens of items because textures mapped on it perfectly. Lovely efficient pixels.

SORRY long post. I could go on, and have, but y'all are prolly already asleep.
:)
Ada
These users thanked the author Ada Radius for the post (total 5):
Dot MacchiIlan TochnerOzwell WayfarerSelby EvansFrank SquirrelHerder
User avatar
Dot Matrix
Posts: 1625
Joined: Sun Jul 28, 2013 3:26 am
Has thanked: 1208 times
Been thanked: 2324 times

Re: Content creation guidelines for lag-free worlds

Post by Dot Matrix »

Here's a useful blogpost by Andrew Thompson on hunting down existing sources of lag: Finding the source of lag on an OpenSim varregion

It covers:
  • Frames per second & Packet Loss — lag in OpenSim
  • Laggy scripts — lag in OpenSim
  • Physical Objects & Collisions — lag in OpenSim
    • Vehicles
    • Bots
    • Non-phantom objects
After looking at all the techy backend hoo-haa for hours, non-phantom objects turned out to be the cause of 99% of [the] memory leaks and subsequent crashes.
(Don't be put off by 'varregion' in the title. It also applies to ordinary and Advanced Megaregions.)
These users thanked the author Dot Matrix for the post (total 5):
Ilan TochnerZuza RittMarstol NitelyMarianna MonentesFrank SquirrelHerder
User avatar
Dragon Ronin
Posts: 25
Joined: Wed Mar 23, 2016 3:38 pm
Has thanked: 4 times
Been thanked: 2 times
Contact:

Re: Content creation guidelines for lag-free worlds

Post by Dragon Ronin »

As my computer alerted me that it was not really up to the job when I discovered SL in 2007, and I (of necessity) am still using that same computer to this day, it is extremely sensitive to lag issues, and cannot get much over 15 fps under the best of conditions. any severe lag and i am at several seconds per frame if I do not crash. All this makes a hard task master for my building, and makes me very aware of such sloppiness in other folk's builds. Upon discovering Blender, I also discovered how badly many "automatic Sculpy makers" did their job, and my early attempts to make sculptys greater than 32x32 faces met with total failure though Blender would make them any size. If there is any change to this, I would be very glad as I think that 128x128 would make really awesome sculpts if they worked inworld.

All of course was before the advent of mesh, and the rigid discipline of Sculpty making went out the window. Mesh objects can be lower lag than sculptys, and will rez sooner in any case, but this should not be taken as "less lag" as my experience has shown this not to be the case. I have made a mesh gable roof that has a total of 10 faces and as a single face mesh cube has 6 faces that is pretty good, and the roof is low lag though the texturing is somewhat problematic, and it is "hollow" and needs to not be phantom. However such meshes are rare indeed.

More common is the person who "Discovers" that 50 or more prims can be exported through some program and brought in as a single prim mesh and just does it with little knowledge much less understanding what is happening on any sort of detailed level. I can usually tell that has happened as my computer lags to a frame every few minutes, while their computer barely notices. Alternatively meshes can be built well in Blender but to accomplish all the geometry, need to be a great many faces. 3d Text in exotic fonts can be a classic example of this, and even 100,000 faces can be as low as practical. The good side is that they rez quickly and announce your store name right away, while a texture sign board on the building might take me several minutes to see; however I can notice the lag especially if I am close, even if the sign is phantom.

Looking at sculptys vs mesh I will use the sculpty unless there is a compelling reason to use mesh. And I will use regular prims unless there is a compelling reason not to. The Sculpty will take longer to rez in and can contain only a single texture, where the mesh will contain 8 textures, but my experience is that they are less laggy even when they are exactly the same geometry and texture. In addition any prim or sculpty can become any other and this can speed building as only some perimeters need to change. This may be the reuse issue talked about above, and I have seen times when the change does not take (even setting to sell or changing the price), but the difficulty of changing out a mesh in a complex build where the old one had some faces with a Normal issue can be very much more work than changing a sculpty design,

Compared to mesh issues and scripting issues, and draw distance, Texture size issues pale to insignificance except on the initial rez.
That is my experience with my ancient Computer anyway.
User avatar
Marianna Monentes
Posts: 65
Joined: Sat Jan 02, 2016 1:48 pm
Has thanked: 92 times
Been thanked: 84 times
Contact:

Re: Content creation guidelines for lag-free worlds

Post by Marianna Monentes »

Thank you for this excellent Post. I have been working to reduce my mesh, some I have reduced by 80% and the details are not compromised which is good. I do have pieces that are compromised so, those I just toss-too detailed for opensim. I will strive to do my part :)
These users thanked the author Marianna Monentes for the post:
Ilan Tochner
The most talented, thought-provoking, game-changing people are never normal. Richard Branson
https://www.kitely.com/market?store=10359095&wt=os
https://monentes-jewelry.square.site/home
User avatar
Tess Juel
Posts: 267
Joined: Sun Sep 11, 2016 4:24 pm
Has thanked: 249 times
Been thanked: 438 times

Re: Content creation guidelines for lag-free worlds

Post by Tess Juel »

One of the problems is that there is no easy way to monitor or limit the load.

Texture and script usage isn't monitored at all and as for meshes, it's 1 LI for each no matter how many vertices and triangles they have.

I've seen made from trees made from more than a thousand triangles on opensim. Not upfront trees - they may need that much detail (and won't do any harm as long as you only have a handful of them) - but perfectly normal "sim filler" mesh trees that could easily have been done with 300 tris or less. Some of them are even uploaded at full LoD so you get all those 1000+ triangles showed into your gpu even at lowest LoD. I suppose it's the same with other mesh objects too but I've only really looked at trees so far.

Such sloppy building practices are ridiculous and to add insult to injury, at least two of the makers (no names given of course) loudly and openly brag about how low lag and carefully made their meshes are.
These users thanked the author Tess Juel for the post:
Marianna Monentes
Post Reply