Jump to content

Recommended Posts

Posted

hello all,
i am building a sim and tried to use as less scripts as possible btw.
but i have 30 fps there if i am alone on the sim...
and i wonder how this can be..
so i thought maybe i did something wrong and maybe you people have good advice for me :)

Posted

30 fps measured how? If it's your viewer, it's nothing to do with scripts and everything to do with what is rezzed on the land that's difficult for your viewer to draw.

If on the other hand the sim itself is only getting 30fps (should be exactly 45), then something is dreadfully wrong. Scripts alone can't do that either; it would almost need to be caused by massive physics abuse, but this is very rare.

  • Like 3
Posted

Agreed heavy mesh and too many big textures (even before 2048) is usually the problem.

If you put yourself in the middle of your sim and set the draw distance to 128 ish and slowly turn you or your camera around in a circle and the FPS changes (sometimes dramatically) then you can get a hint at what objects might be causing a problem.   You can inspect objects to see which ones have too many triangles and too big of a texture cost. Removing and replacing those objects should help. 

And their could possibly be a case of a "sick sim"; I had one once (and moved) after both the landowner and Linden Lab folks could not find a fix.    

 

  • Like 3
Posted

It's also worth avoiding using too many alpha textures, especially alpha blending, as they cause overdraw (which is when your GPU is forced to draw the same pixel multiple times per frame).

Fields of grass and dense forests may look pretty but can potentially turn your SL experience into a slideshow unless you have a high end gaming PC so unless an item really needs to be semi-transparent then it's far more preferable to choose items that use alpha masking rather than alpha blending (if the items are modifiable then you can always try changing them to alpha masking yourself).

  • Like 2
Posted (edited)

Look, this is the sim so far, maybe you see items in the video that  i may look into

i just went over every individual item of ' nature'  and set it to alpha masking instead of alpha blending
also took out al the season change scripts.

but at some points i still have bad fps, like 24..., if i do what Chic Aeon suggested ;
If you put yourself in the middle of your sim and set the draw distance to 128 ish and slowly turn you or your camera around in a circle and the FPS changes (sometimes dramatically) then you can get a hint at what objects might be causing a problem.   You can inspect objects to see which ones have too many triangles and too big of a texture cost. Removing and replacing those objects should help. 
 

Edited by Myrdin Sommer
Posted
1 hour ago, Myrdin Sommer said:

btw, is there a setting in sl advanced menu maybe so i can see what items have a lot of triangles?

Far be it from me to ever suggest using Firestorm, but… here's what Chic probably means about inspecting an item to see its triangle count, in the Object tab of the Firestorm editor:

image.thumb.png.faca61b9306b8bf27937a99badec1030.png

The "Num Triangles" column here shows that the selected object has a proper scaling down in complexity from High to Low, but the number of triangles for a simple light fixture is pretty excessive.

Also, take a moment to check what that LOD Factors table looks like on your machine. Here it's clear I rarely use Firestorm because I left it at the (egregious) default of 2.0 when it should be much lower—on viewers I actually use, I keep it at 1.25 or 1.5 except when I really need to photograph some poorly made mesh. The higher that number, the harder your GPU has to work to draw mesh that's at any distance away from the cam. (This is the RenderVolumeLODFactor debug setting which Firestorm encourages newbies mess up somewhere in its graphics preference maze.) With that setting back down where it belongs, you can really see which creators have no idea how to model for SL when their stuff collapses into a pile of triangles as your cam pulls back. Some creators used to advise users to crank up that setting to 4.0 (tantamount to admitting guilt).

Looking at the video, yeah, I can imagine you'll find some "opportunities for optimization" there. Also, depending on how all that animation is scripted, there could be server-side lag, too. To get hints about that, toggle the Statistics bar with Ctrl-Shift-1 and expand the "Simulator" section. If "Scripts Run" is a steady 100% you don't need to worry much about that, but if you expand the "Time" section you can also check "Spare Time" to get a sense of how much headroom you have for visitors coming and going with their scripted attachments. (The Statistics bar can tell many tales, but not every number warrants study.)

  • Like 1
Posted

@Qie Niangao, thank you for your responce! i will look into all you said when i log back in :)

you said you watched my video, so you have seen al the vines on the buildings;
each panel is a mesh, not bad on triangles on its own, but i was thinking, all them add up maybe..
so i was wondering if i would replace all the vines meshes with a prim with a alpha masking texture on it. would it be possible it reduces lag enormously?
( its a LOT of work, so i thought i better ask before i start doing so hhe)

Posted

My hunch is it's not worth it, especially if you've already set those alphas to masked (if they weren't already). I'm guessing the triangle count of some of those robots will swamp everything else, but that's just speculation.

  • Like 1
Posted

Yeah, it's not as bad as I'd guessed. It adds to the rendering work when things move around, but it's not like a whole dancing avatar, for example.

I wonder what your experience is at other, similar regions. That is, whether you only get 25-30 fps pretty much everywhere, or if your region is conspicuously worse than others to which you'd like it to compare. I suppose the latter, though, hence this thread.

It might be useful if someone with experience took a look. I'm a scripter not a modeler so I wouldn't be the ideal "inspector" for viewer lag (although I'd be happy to take a look). Both @Chic Aeon and @Fluffy Sharkfin who posted earlier could probably find sources of viewer lag with just a quick tour. But it's obviously up to you whether or not you want to share  region access now (perhaps by DM if not in a post).

Returning to the Statistics bar (Ctrl-Shift-1) for a moment, near the top you can open "Advanced" and "Render" to get some numbers for KTris per Frame as you move the cam around. You'll quickly notice that having a mesh avatar in view adds hundreds of thousands of triangles to draw each frame, but as Chic suggested, pushing the cam around may reveal complexity "hot spots" other than avatars, as a hint for what to inspect further.

Might also check if there are lots of light sources you don't know about (Developer > Render Metadata > Lights). Or PBR mirrors that can really slow things down.

  • Like 2
Posted

as a 'user' and not a sim builder I have often wondered this myself. Sure really pretty sims with grass and trees and all can slow down - but there are also alot of pretty sims like that  work really well.  Maybe there could be a 'sim builders master class' to teach people better techniques for building a sim to make it a more enjoyable experience for everyone 

  • Like 2
Posted
1 hour ago, Qie Niangao said:

It might be useful if someone with experience took a look. I'm a scripter not a modeler so I wouldn't be the ideal "inspector" for viewer lag (although I'd be happy to take a look). Both @Chic Aeon and @Fluffy Sharkfin who posted earlier could probably find sources of viewer lag with just a quick tour. But it's obviously up to you whether or not you want to share  region access now (perhaps by DM if not in a post).

Unfortunately my hardware is so low end that I'd most likely have trouble rendering everything (I'm still on a GT1030 with passive cooling) but looking at the video and some of the screenshots there are a couple of suggestions I could make. 

Based on the video there is a lot of foliage (especially vines) and while swapping them to alpha masking will help quite a bit even alpha masked textures require additional processing time as it still has to check the alpha value of every pixel in each texture in order to determine if it needs to be rendered so, while the processing time required is less, it can still mount up when dealing with lots of transparency, alpha blended or otherwise.  Personally I'd suggest swapping out the base texture on the buildings and using something that already has foliage on it, then reducing the number of "floating" mesh objects that are being used as foliage overlays rather than using them on every building having a few scattered around to add depth in areas where users are likely to be close enough to notice them (for instance placing them at ground level on taller buildings rather than over the entire building since most people will see the base of the building up close but not the middle or top).

As for the robots, while the highest LOD isn't that excessive the medium LOD isn't exactly that well optimized (personally I've always tried to aim for around 80% reduction of polygon count between each LOD) and the two lower LODs appear to be just placeholders since they both contain only 9 triangles.  This is a good way to lower the land impact of an object but that's not necessarily a good thing from the perspective of performance since having complex objects with artificially low land impact tends to result in much higher polygon counts in your "scene".

The other problem with artificially lowering the LI of objects by skipping the lower LOD models is that it encourages people to increase the LOD factor setting which may well be partially the cause of the performance issues the OP is suffering fromLODfactor.thumb.jpg.cc0d66963a433dbcd8d06f3e743e53ac.jpg

Based on the LOD setting being used the robot in the screenshot will remain visible at high LOD (7,274 triangles) up to 36 meters away, and medium LOD (3236 triangles) until 144 meters away.  In both instances this would make the object small enough on screen that the vast majority (if not all) of the polygons will be smaller than a pixel, at which point rendering them will negatively impact GPU performance since pixels are rendered in "quads" and then the "empty pixels" are discarded, which means you waste 75% of your GPU rendering time.

@Myrdin Sommer My advice would be to try and find some mesh robots that are better optimized and make proper use of LOD models and to turn down your LOD settings to something more reasonable and replace any content that "crumples" or turns into a triangle at a distance with items that have LODs more suited to external use (large objects that only appear inside small spaces don't really need low LOD models since they aren't visible from a distance, smaller objects and objects that are out in the open require proper LOD models).

  • Like 2
Posted

I watched the video again and there's just a vast amount of stuff that might be laggy as hell, or not. So before investing too much time and money in changes that could help, it may be worth a quick and dirty test to quantify the possible impact.

For example, you might try just removing the vines altogether, no replacements or retexturing or anything, just pull them out and measure how much difference it makes. If it doesn't help, put them back and try something else. (The "pull them out" and "put them back" steps sound like a lot of work but just adding 1000m to their Z position gets them well out of view so it's as good as removing them altogether. If it works, then you have them all up there where you can deal with them (remove, replace, retexture, whatever) and if it doesn't work just subtract 1000m from each to put them back and try something else.)

Same with the robot drone things: push 'em way up out of the scene and measure how much it helped or didn't before investing time and L$ in replacements.

Identifying other things to try is where the viewer triangle counts might help—as might visitors who have experience with this sort of content.

  • Like 3
Posted
4 minutes ago, Qie Niangao said:

I watched the video again and there's just a vast amount of stuff that might be laggy as hell, or not.

It would be interesting to see the same video in wireframe, but at that LOD setting I imagine it would be pretty dense.  Before removing or moving anything on the sim I'd suggest changing the LOD setting to something closer to the LL default then taking another look around the sim and comparing performance.  If there doesn't seem to be any real improvement then that would suggest it's more likely to be related to textures than geometry.

  • Like 3
Posted
5 hours ago, Qie Niangao said:

It might be useful if someone with experience took a look. I'm a scripter not a modeler so I wouldn't be the ideal "inspector" for viewer lag (although I'd be happy to take a look). Both @Chic Aeon and @Fluffy Sharkfin who posted earlier could probably find sources of viewer lag with just a quick tour. But it's obviously up to you whether or not you want to share  region access now (perhaps by DM if not in a post).

Actually "my" method of turning in a circle and then expecting the objects can be done by pretty much anyone.  I don't do any of that fancy stuff with viewer stats LOL.  

 

For those reading this thread later here is the path to look at both vertices and texture memory use.  There are some older and very long threads on this subject but happily most of the creators that were apparently uploading RENDER mesh and not decimating or otherwise lowering the triangle - vertices content have improved their products greatly. 

This really isn't a super laggy object (I don't buy or use those) but you can see how to get to the screen with the info here. 

At one time there were a lot of half a million vertices items roaming the grid. So older items are more likely to be laggy than the newer ones -- in GENERAL ONLY. 

So right click on the object (in FS and assuming in Linden viewer) and you can see the counts. The higher the numbers the "laggier" the object.  To be fair if large textures are used correctly they can be good (like many parts of a house on one texture) but I think the worst offender is still the infamous 1024 texture on a match head (not even the whole match) LOL.  

If you find an object that seems to be an offender just take it up or derender (I am thinking that should work the same) and see if the FPS improve. 

IF you have a neighboring sim we were told officially when the Belli houseboats came on line -- the neighboring sim can be the problem.  I have had this a few times when renting.    

So hopefully this info will help others along the way.  

 

PS as far as I know the texture size only affects loading "lag" not FPS.  Someone techier can correct that if I am wrong.  So then you get the long time of grayness rather than low FPS.  

image.thumb.png.8c297fc45b59114fbbf870a9a3217630.png

  • Like 1
  • Thanks 2
Posted
51 minutes ago, Chic Aeon said:

IF you have a neighboring sim we were told officially when the Belli houseboats came on line -- the neighboring sim can be the problem.  I have had this a few times when renting.    

Great point!

  • Like 1
Posted
On 11/22/2024 at 3:09 PM, Fluffy Sharkfin said:

As for the robots, while the highest LOD isn't that excessive the medium LOD isn't exactly that well optimized (personally I've always tried to aim for around 80% reduction of polygon count between each LOD) and the two lower LODs appear to be just placeholders since they both contain only 9 triangles.  This is a good way to lower the land impact of an object but that's not necessarily a good thing from the perspective of performance since having complex objects with artificially low land impact tends to result in much higher polygon counts in your "scene".

can i do this in sl? on objects that i did not create myself?!

Posted
On 11/22/2024 at 3:58 PM, Fluffy Sharkfin said:

It would be interesting to see the same video in wireframe, but at that LOD setting I imagine it would be pretty dense.  Before removing or moving anything on the sim I'd suggest changing the LOD setting to something closer to the LL default then taking another look around the sim and comparing performance.  If there doesn't seem to be any real improvement then that would suggest it's more likely to be related to textures than geometry.

How do i set it to show that wireframe?
i can make a video with them of course :)

Posted

You can toggle wireframe with Ctrl-Shift-R (or Developer / Rendering / Wireframe).

And no, you can't change the geometry of (non-prim) objects in-world—not even if you did create them yourself. It's something a creator does while modelling before uploading the mesh.

  • Like 1
Posted (edited)

i already ripped out scripts of every element that does not really need it
i removed almost all glow at the centerbuild of the sim ( a few items i left cause i felt it was necessary )
i made everything alpha masked if possible
i removed most ' shadow prims'  from objects to reduce alpha blending
i  am inspecting every item to see if they have crazy triangle count

but when i am at the centerbuild my fps drop and i dont know why
well, they drop if i am in the sim longer, when i go there after a relog it is not that dramatic

so i am kind of feeling a bit hopeless now..

I place all the foliage up 1000 meters to see if that is causing it, but it did not change anything really!   fps dropped 1 so that's nothing
i removed some elements that produced particles also
the robots we have so far are all not bad at triangles, most have just a simple hoover script
the place is not packed with sitting objects like PG sofas with lots of scripts

maybe this info in ' statistics'  is helpful for you all!?

https://gyazo.com/43d501c5dde763380761bafec1502b20

Edited by Myrdin Sommer
Posted (edited)

I may have missed it but, when testing do you also make sure to use a very simple avatar so you aren't affecting the results?

(ETA: Sorry if it seems like a dumb question.)

Edited by Love Zhaoying
  • Like 3

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...