Jump to content
Quarrel Kukulcan

mystery complexity quadrupling

Recommended Posts

16 minutes ago, NiranV Dean said:

I might have just been lucky and this place simply doesn't bring up enough "trash" to show a difference.

You mentioned something about furry hangouts and that may explain it. I did a quick comparasion between my furry avi and a "regular" human mesh avi with similar render complexity and there was a huge difference in the fps I got. I've heard others comment about how furry places are less laggy too and it seems to me that makers of furry related fitmesh tend to be less prone to take advantage of the various render cost loopholes than makers of human fitmesh.

If I can risk a little bit of stereotyping, I also believe furry places tend to have less laggy surroundings. with less fasionably overtextured furniture etc.

Share this post


Link to post
Share on other sites
3 hours ago, NiranV Dean said:

Conclusion: SL remains different for everyone.

That's fair.  I do have an older GPU and I imagine people with less dedicated VRAM are hit harder by textures than people with newer cards with more onboard VRAM.

That said, I do believe a large number of SL users have hardware comparable to, or less powerful than, mine. Over the years I've gotten a lot of comments from people regarding the performance boosts they've experienced in sims I built, most recently with that RP area in the Outer Rim sim.

Share this post


Link to post
Share on other sites
20 hours ago, ChinRey said:

You mentioned something about furry hangouts and that may explain it. I did a quick comparasion between my furry avi and a "regular" human mesh avi with similar render complexity and there was a huge difference in the fps I got. I've heard others comment about how furry places are less laggy too and it seems to me that makers of furry related fitmesh tend to be less prone to take advantage of the various render cost loopholes than makers of human fitmesh.

If I can risk a little bit of stereotyping, I also believe furry places tend to have less laggy surroundings. with less fasionably overtextured furniture etc.

I do notice the same. Generally speaking furries nowadays seem to be much more optimized even when not actively optimizing. Any human avatar i see for some reason drops my framerate harder than 20 furries in a club or hangout place. I'm still surprised sometimes when i see a single avatar absolutely murdering my framerate to the point i get nervous and worry i broke something in the Viewer and then notice its just a human avatar again that appeared in my draw distance doing this. Whats even weirder is that furries often use the same bodies as humans (the big ones...), texture memory usage usually goes through the roof as well with all the million fluffs that have different 1024x1024 textures for some unknown reason. Don't get me started on clothing items that allow switching textures on multiple surfaces.... each time you swap the texture you add another 1024x1024 texture, one for the arms, one for the base of the jacket, one for the zipper, another one for the neckfluff... oh and the belt... dont forget the belt... or the pockets... i had to combine these into a single texture for my own stuff.

Funny when you consider that before mesh the total opposite was true.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, NiranV Dean said:

I'm still surprised sometimes when i see a single avatar absolutely murdering my framerate to the point i get nervous and worry i broke something in the Viewer and then notice its just a human avatar again that appeared in my draw distance doing this.

I think this illustrates just how much damage the fitmesh LoD bugs have done.

 

1 hour ago, NiranV Dean said:

texture memory usage usually goes through the roof as well with all the million fluffs that have different 1024x1024 textures for some unknown reason. Don't get me started on clothing items that allow switching textures on multiple surfaces.... each time you swap the texture you add another 1024x1024 texture, one for the arms, one for the base of the jacket, one for the zipper, another one for the neckfluff... oh and the belt... dont forget the belt... or the pockets...

And remember that people are actually complaining about the limited number of attachments they can have. ;) I said something about avatars with a hundred 1024s in an earlier post. I don't think that was an exaggeration, if anything it was a rather conservative estimate.

With pre-BOM mesh bodies draw calls may also be a sinigficant issue. All the segments of the bosy may use the same texture but as far as I know they are still drawn separately. How difficult would it be to implement consolidated draw calls on linkset level?

Share this post


Link to post
Share on other sites
Posted (edited)
56 minutes ago, ChinRey said:

With pre-BOM mesh bodies draw calls may also be a sinigficant issue. All the segments of the bosy may use the same texture but as far as I know they are still drawn separately. How difficult would it be to implement consolidated draw calls on linkset level?

I wouldn't know if that would even help, as far as i remember draw calls are already consoliderated like that. An object calls the drawcalls in its children, eliminating that additional draw call wouldn't help much i suppose since you have to draw them regardless and do all the necessary work for each object, from a quick guess you'd just save a function call... not that saving a function call per linkset is nothing, considering that there are tens of thousands of draw calls and potentially saving many function calls everywhere would save a bit but i doubt it would be worth doing. It sounds more like "squeezing out" the last bit than big time optimizations with results. It would probably make the render code even more messy.

Edited by NiranV Dean

Share this post


Link to post
Share on other sites
1 hour ago, NiranV Dean said:

I wouldn't know if that would even help, as far as i remember draw calls are already consoliderated like that.

So what you say is that it has already been implemented? That's good of course but is it for each prim or for linksets as a whole?

I know there was no draw consolidation in SL originally. Avi Bar Zeev himself discussed it in a 2008 blogpost (still available on the Wayback machine: https://web.archive.org/web/20190312022703/https://www.realityprime.com/blog/2008/08/how-sl-primitives-really-work/):

Quote

To be blunt, faces are something I should have tried harder to kill or minimize, way back when. Most volumes can be thought of as solid materials, where the same texture should apply throughout. Indeed, a cube could be thought of (and is handled internally as) a curve with vertices at 0, 0.25, 0.5, 0.75, and 1.0 in the parametric space, with no separate faces required. So we probably could have defaulted to a sort of 3D texturing – one texture per prim, and automatic texture coords to make it look more real. Faces with unique textures became a real pain the ass to optimize for better performance, and they don’t help streaming much either.

Later he added two comments:

Quote

If prims are first considered a single material and texture, you can always add texture layers on top of that. One layer could be for custom-painted texture areas anywhere on the prim — grafitti or posters, or whatever — and these could wrap the prim in any way, not just per face. Other layers could add reflection, bump mapping, and so on. You could even have a 2nd material and use a texture layer to blend between the two, much as terrain blends between multiple materials in different places.

There’s no reason you couldn’t then emulate what you get now, plus a lot more, and avoid the cost of having one prim fall into multiple rendering queues.

and:

Quote

As I mentioned, if I had to do it again, I would eliminate the Face concept and just begin with simple projections of the same texture everywhere, applying special cases as decals.

 

Share this post


Link to post
Share on other sites
1 hour ago, ChinRey said:

So what you say is that it has already been implemented? That's good of course but is it for each prim or for linksets as a whole?

I know there was no draw consolidation in SL originally. Avi Bar Zeev himself discussed it in a 2008 blogpost (still available on the Wayback machine: https://web.archive.org/web/20190312022703/https://www.realityprime.com/blog/2008/08/how-sl-primitives-really-work/😞

 

I doubt something has changed since then.

Each "object" calls into its sub-objects and textures to render themselves, e.g drawcalls, kind of like a branching tree. What he's explaining is something completely different and would indeed have potential to drastically speed this up but would also invalidate pretty much any and all tools (and potentially content) we have right now unless we do it in a way that makes them stay compatible.... aaand i start talking like LL.

  • Like 1

Share this post


Link to post
Share on other sites
2 minutes ago, NiranV Dean said:

 aaand i start talking like LL.

Don't worry, we won't tell. ^_^

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...