Jump to content

A Thread - All About LOD


Recommended Posts

4 minutes ago, Love Zhaoying said:

Like MOAP!

And TOS! :|

Anyway, dragging this thread kicking and screaming back on topic, a new user doesn't need to know all that much about LOD beyond what the acronym stands for, and that the term gets used (and misappropriated) for a variety of different things like the individual meshes of decreasing complexity that are used to create mesh objects in SL, the object complexity settings in the viewer and sometimes as a way to describe the "quality" of a particular mesh object.

Giving a newbie any more specific information would probably be a little overwhelming unless they're expressing an interest in creating mesh or are specifically asking about tweaking their object complexity settings (in which case just tell them to try it and see but maybe include a friendly warning that it may potentially cause a drop in frame rates and increased gpu usage).

Link to comment
Share on other sites

3 minutes ago, Fluffy Sharkfin said:

And TOS! :|

Anyway, dragging this thread kicking and screaming back on topic, a new user doesn't need to know all that much about LOD beyond what the acronym stands for, and that the term gets used (and misappropriated) for a variety of different things like the individual meshes of decreasing complexity that are used to create mesh objects in SL, the object complexity settings in the viewer and sometimes as a way to describe the "quality" of a particular mesh object.

Giving a newbie any more specific information would probably be a little overwhelming unless they're expressing an interest in creating mesh or are specifically asking about tweaking their object complexity settings (in which case just tell them to try it and see but maybe include a friendly warning that it may potentially cause a drop in frame rates and increased gpu usage).

I think it would help if n00bs understood their purchases do NOT have to look like a pile of sticks, even if they are NOT using the highest LOD setting (if they buy items with good quality low LOD). I can see people assuming if something looks like garbage, "that's just how Second Life is".

Edited by Love Zhaoying
  • Like 3
Link to comment
Share on other sites

Just now, Love Zhaoying said:

I think it would help if n00bs understood their purchases do NOT have to look like a pile of sticks, even if they are NOT using the highest LOD setting. I can see people assuming if something looks like garbage, "that's just how Second Life is".

That's just the burden we bear for living in a world of entirely user-generated content, mesh may have amplified it a little but SL has always had to deal with the fallout from being the digital equivalent of a patchwork quilt being worked on by thousands of people all with wildly disparate visions and ideas.

I guess at most all a new user needs to know is the basics of how mesh works to explain why a sofa or table suddenly changes to some weird spikey abstract sculpture once you get more than a few meters away from it and that their options are to either avoid buying/using content that does that or tweak their settings which may have a detrimental effect on performance and their hardware.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Cinnamon Mistwood said:

Anyway...  none of this is anything you would tell a newbie about LOD.  This thread is just a place for people to measure their...  swords.  Yeah, swords.  I said it.

LOD - the level of detail your personal computer set up renders items at certain distances?  If it is too low, then items lose detail and turn into weird triangles when you get far enough away?  Is that right?

Your LOD setting only impacts your view.  No one sees SL the same way even with the same settings because your computer hardware and/or software also impact the LOD?  Is that right?

Increasing your LOD setting may or may not impact your computers performance in rendering your view.  It also may or may not heat your computer up and cause issues.  None of this is right, right?

When buying items for your avatar or home you can test items at your preferred LOD, but others with different LOD settings might not see your great outfit or decor items.  Right?

LOD may or may not impact your fps, but draw distance definitely does...  Maybe.   I may have missed if this was answered in all the sword measuring.

If you want to buy an item that a creator says needs to be viewed at LOD 4, but you use LOD 2 for yourself, don't buy that item. Right?

 

 

and finally, no one else cares what your LOD is set to.  Each individual sets their own preferred setting and enjoys their SL in their own way.  They do not care about your view, only their own. Right!!!

 

 

Yep and as a creator at the time I upload my products I tell SL what LOD I want my products to be, which is normally high so even if someone has their viewers LOD low my products will never triangle out ever.

I don't know what's worse, having a world full of objects that are the higest LOD or a world with objects with multiple levels of LOD containing several models constantly updating and changing depending on distance camera is from object? hmm

Link to comment
Share on other sites

7 minutes ago, Paulsian said:

I don't know what's worse, having a world full of objects that are the higest LOD or a world with objects with multiple levels of LOD containing several models constantly updating and changing depending on distance camera is from object? hmm

That's literally what the LOD system is meant to do.

  • Like 2
Link to comment
Share on other sites

1 minute ago, Theresa Tennyson said:

That's literally what the LOD system is meant to do.

Yep and wondering if that's more processor friendly or demanding. Having to recalculate and render hundreds of objects around our cameras location at any given point. No wonder we all lag when we get together. If we all had stable LOD likely would not have that. 

I think what the viewers LOD system does is takes objects that are uploaded at a lower LOD makes them behave to act like objects that are uploaded at a higher LOD. 

The name of the game for me is to create objects with the lowest land impact as humanly possible while uploading the model at the higest lod. It's the best of both worlds. How objects are built has a lot to do with land impact. Consumers want lowest land impact. Our jobs as creators is to provide products with the lowest land impact uploaded at the highest quality. It makes us better builders learning to build better keeping land impact in mind. 

Anyone can upload a model that's lower LOD quality to keep the land impact down and I think more and more consumers are learning they can have quality with less quanity and can certainly tell if quantity does not have quality. 

The master builders know more tricks than I do because they have more experience. 

Link to comment
Share on other sites

This sort of system appears to be brilliantly engineered, but why is what i'm wondering. To teach us? There's more than one way to do things? Nothing worthwhile is ever easy?

I can see making a system more difficult for job security reasons. It's very common in the united states. Make things as confusing as possible so only you and maybe an assistant knows what is going on so others depend on only you for support. 

A platform built for builders with the most confusing everything is a little strange. 

Edited by Paulsian
Link to comment
Share on other sites

12 hours ago, Paulsian said:

Yep and wondering if that's more processor friendly or demanding. Having to recalculate and render hundreds of objects around our cameras location at any given point. No wonder we all lag when we get together. If we all had stable LOD likely would not have that. 

I think what the viewers LOD system does is takes objects that are uploaded at a lower LOD makes them behave to act like objects that are uploaded at a higher LOD. 

The name of the game for me is to create objects with the lowest land impact as humanly possible while uploading the model at the higest lod. It's the best of both worlds. How objects are built has a lot to do with land impact. Consumers want lowest land impact. Our jobs as creators is to provide products with the lowest land impact uploaded at the highest quality. It makes us better builders learning to build better keeping land impact in mind. 

Anyone can upload a model that's lower LOD quality to keep the land impact down and I think more and more consumers are learning they can have quality with less quanity and can certainly tell if quantity does not have quality. 

The master builders know more tricks than I do because they have more experience. 

The effect is actually the other way round. loading each LOD model happens ONLY when the distance from model to camera crosses the LOD thresholds. The calculations for rendering the hundreds of objects around your camera happen every frame anyway.

If every model at every LOD was high-poly the graphics card would still render every tri of it, even if the size of the model on the screen was only a couple of dozen pixels across and you couldn't see the detail with a microscope.

Proper LODing of the model before you upload it makes it less laggy - not just for you but for everyone else that can "see" it inworld because you and they are not wasting CPU and GPU cycles rendering detail that is too small for even the highest-resolution screen to show.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 9/15/2022 at 4:39 PM, ChinRey said:

You want to get rid of smaller details on objects that are viewed at some distance. Fewer tris and vertices improves the frame rate a little bit and it improves load time quite a bit. But perhaps msot important, with LOD all maxed out, you soon get tris so small the viewer has to find a way to sqeeze several of them onto a single pixel on the screen and then you're really giving your poor GPU some work to do. I seem to remember that  @Beq Janus posted an article about this in her blog a while ago. I can't find it now but maybe she can help.

I suspect it was in the brief discussion of the future problems we are storing up for ourselves in my mesh body analytics posts (this one maybe - Why crowds cause lag) Towards the end is an appenidx of sorts where I briefly discuss some of the common myths and assumptions. 

Quote
We are, as they say, between a rock and a hard place...
 
But does it affect the FPS? Yes, to some extent. If you have a high detail LOD that is being drawn at a distance where most of the triangles resolve to a small number of pixels, then the GPU has to shade each vertex, and this can mean that a pixel in the final render is being shaded more than once, this is known as "overdraw". It means that your GPU is doing a lot more work than it needs to. Simply put, if every pixel on your screen was shaded once and then had to be done against, then clearly, it takes twice as long as shading just once would. This is a great example of a GPU bottleneck, which we rarely see in SL due to the draw call problems that dwarf everything else. These are real problems; they are just hidden from view right now. 

We are now in that future space where the CPU bottleneck has been widened enough that for many of us we are seeing our GPUs work harder. Now you are facing overdraw issues. In an ideal world we would have to only shade each pixel once, that would give you a minimum frametime on your GPU and is dictated by your fill rate. As the techopedia article says there is no accurate or standard fill rate calculation but if for example your GPU had 1000 pixel pipeline cores and a 2Ghz clock speed then you might be able to shade 2 billion pixel per second. Let's now say that you have a 4K screen at 3840x2160 pixels. That gives you a max theoretical framerate on the GPU setup of ~240 fps. In reality, you rarely shade a pixel once only, various overlays and shadow passes etc complicate matters, but these are ok as they tend to be consistent. The issues arise when you friend walks on to the screen in their obscenely over complex mesh body, wearing their obscenely over complex clothes spewed out from marvellous designer by a creator who does care about you electricity bills, hardware health or FPS, and all of those tiny triangles are being drawn to the screen in a small 256x256 patch. There's only 64K of pixels and 250K of triangles....overdraw hell, your GPU is wasting time drawing and redrawing and redrawing the same pixel pointlessly. This is also why we grumble about alpha blend a lot. Alpha blend is by definition overdrawing as it needs to use the previous pixel colour to calculate the next one. 

Drawcalls were the bane of FPS last year, we've moved on and now triangles are back with a vengeance.

 

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

3 hours ago, Beq Janus said:

We are now in that future space where the CPU bottleneck has been widened enough that for many of us we are seeing our GPUs work harder.

A little bit off topic but I'm not quite convinced about this. I don't know if you saw this thread, Beq. In one of the tests I made for it I had a 48,960 tri prim build outperforming a 3,060 tri mesh. It's hard to see how that can be explained unless the cpu performance is still the bottleneck.

But of course, the cpu vs gpu "power balance" is an important factor here and my computer -  a 3.60 GHz Intel i7-11700K cpu and a Nvidia Geforce RTX3090 gpu - may be significantly more slanted towards gpu power than what most people have. It would be great if we had similar, and less casual, tests with different hardware setups.

Edited by ChinRey
Link to comment
Share on other sites

23 hours ago, ChinRey said:

A little bit off topic but I'm not quite convinced about this. I don't know if you saw this thread, Beq. In one of the tests I made for it I had a 48,960 tri prim build outperforming a 3,060 tri mesh. It's hard to see how that can be explained unless the cpu performance is still the bottleneck.

But of course, the cpu vs gpu "power balance" is an important factor here and my computer -  a 3.60 GHz Intel i7-11700K cpu and a Nvidia Geforce RTX3090 gpu - may be significantly more slanted towards gpu power than what most people have. It would be great if we had similar, and less casual, tests with different hardware setups.

I just looked at it today (I tend to be reactive to threads here and only see things when I get pinged 🙂 ) and I'd have to take time (that for RL reasons I don't have at the moment) to examine the tests in more detail to form a proper conclusion. However, we'd need to assess how many draw calls each of those decomposed into for a start because, as you know from my previous "preachings" draw calls outweigh triangles by orders of magnitude. the server-side and network aspects can be largely excluded, they have depending on what it is you are trying to measure. There is a difference between frame rate and what for want of a better term I will call "scene rate", where the latter is how long it takes for all of the assets in your view to be full downloaded and made available for rendering. As you note CPU/GPU balance and bottlenecks is very context sensitive to both the scene being rendered and moreover the hardware doing the rendering. What you should be seeing when comparing a previous generation viewer to the current performant viewers is higher GPU utilisation no matter how powerful the GPU it is likely to be working harder than before. Likewise the CPU profile should have changed. Historically you'd have seen the CPU running at 100% on a single core (Windows is absolutely rubbish at conveying this and what you will see is that 100% spread across all the cores, so an 8 core CPU would show on average 12.5% utilisation - just blame the awful windows scheduler), nowadays you'll still see that burning core that represents the main render thread, but increasingly you'll see more utilisation on the other cores, with more work moving to other threads to run in parallel, in particular you'll see this upon arrival in a new region as we fetch and decode all the textures. 

In your case, the 3090 was barely awake before, and in my experimentation that should hold true for most moderately complex scenes on anything more than around a GTX980, because the fillrate of those GPUs could easily outstrip the supply rate of draws from the CPU and therefore waits. We are now pushing far more work per draw call, and so the GPUs are having to step up and play their part, but how much it steps up, will vary.

I do have a TODO list task to revisit my previous experiments on mesh avatars and perhaps to extend that work, but it is unlikely to happen this side of November due to RL work commitments.

  • Like 1
Link to comment
Share on other sites

Proper LODs is a hell of an effort so your item looks nice at a proper distance. So hope you appreciate it, is how I would explain it to a Newbie.

I am biased:  last month 50 plus piece kitchen and accessories all with custom LODs bar the lowest (sorry not sorry).  The effort this takes is incredible compared to those who zero it all out (those detailed furniture makers)….

Many new and old customers always want LOW LI and All The Details as that is “quality”.  I can probably count on one hand those who ask if the LODs are custom.   It’s a really small subset of at least my user base. 

Also it is its own workflow optimizing mesh properly.  It is not really documented for SL products.  It took me a lot of help from forum users over the years to figure my custom workflow.   

Either way if a newbie asked me about LODs I think I would be very happy!!

 

Edited by Charlotte Bartlett
Link to comment
Share on other sites

Just now, Charlotte Bartlett said:

Also it is its own workflow optimizing mesh properly.  It is not really documented for SL products.  It took me a lot of help from forum users over the years to figure my custom workflow.

Retopology and creating LODs is certainly a tedious and frustrating art form, it's definitely one stage of the creative process in which I'd like to see AI implemented so I could just drop in a digital sculpt with a few million polygons and type in "make low poly model good now please thank you!" and go make a coffee instead!

  • Like 1
Link to comment
Share on other sites

On 9/17/2022 at 11:31 PM, ChinRey said:
On 9/17/2022 at 1:19 AM, SarahKB7 Koskinen said:

Thankfully, most viewers now have Avatar Complexity settings in their preferences which allows the viewer user to decide whether these very high complex avatars can be fully rezzed or not.

Except it doesn't do exactly that of course. The viewer has no way of knowing which avatars are heavy to render and which aren't so it more or less picks some avatars at random to "jellydoll" out.

But it can, now!

Don't forget Beq's new performance tools, which keeps track of how long it takes to render an avatar (and how bad Avatar Complexity is at estimating it). That info can be used to specifically jellydoll avatars that take too long to render.

image.png.6138c97f0dd52e558b63497cd1a87c6c.png

To tie this into the topic a little bit, avatars still have the problem quirk where all of your attachments use the same LOD level, based on your avatar's distance from the camera, instead of every attachment being considered on its own. I haven't decided whether I think it's a good thing or a bad thing, there's downsides to both.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...