Jump to content

Objects not showing up properly is starting to ruin SL for me


Rick Nightingale
 Share

You are about to reply to a thread that has been inactive for 400 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I'm sure there must be Jiras covering these things already, or I would file some. I know I'm not the only one.

Examples:

1. I'm stood in the middle of my lawn, and turn around. There are two seats; one shows up, the other just as a triangle at its lowest LOD that I am much too close to be supposed to see, even at LOD factor 2 (I'm at that). Turn around again... one of my animesh rabbits 2m away is not there, but suddenly pops in as if it's just been shoved onto the scene like in those old movies where the actor gets pushed onto the stage from the side (probably the animation catching up or something). Also, some of my ground cover plants take a second or two to show up, leaving me with bare ground before they do. Turn around again... the other seat is now a triangle (and stays that way) and  some flowers are missing. Oh, and the trees and shrubbery can't make their minds up either.

2. In my dungeon, I have a row of identical statues. Nearly every time one of them will be a lowest LOD triangle depsite that I should never see that within the room. Like the above seat, it stays like that until I've walked towards it a few metres or mess about zooming my camera in and out. My throne has a habbit of doing the same. If I turn around for a few seconds and back again... it's a triangle again.

These are just two examples that have happened within the last ten mintues on my land. They are happening all the time and it is really starting to get annoying. The visuals in SL are what I enjoy, and this is taking that away and replacing it with the frustration of watching things slowly pop in, sometimes just as a triangle or not at all, just because I turn around. I understand the viewer doesn't want to waste time knowing about things I cannot see, but the developers have to find a better way to deal with this. The stuck lowest LOD thing, and sometimes just not being shown at all, are the most annoying. I could cope with a small delay, but it is too long and spoils immersion. Simply turning around, especially to see things only a few metres away that I was looking at only a few seconds ago, should be seamless.

I've tried at a lower LOD factor of 2, and ramping it up to 4. Makes no difference that I can tell to the above.

A final thing... the supposed framerate. While the FPS display at the top of Firestorm is telling me 52 fps (I cap at 50)... I can still suffer from a juddery display to the point that it can cause motion sickness. No way is the actual scene updating at 52 FPS. Maybe the display is, but with a number of identical frames, if you get me. It's really obvious when it happens and it happens a fair bit. It feels like the FPS number is lying, the way a government reports a statsitic that has no actual bearing on the reality of the situation. But the number looks good! I have a GTX 1080 Ti although on an older i7 CPU at 3.7GHz with 16GB RAM. That should be good enough to run at 1920x1200. This never happened before the 'perfromance improvements' or whatever they are called. The difference in number to perceived framerate, I mean. If it was juddery, it read a low FPS.

The improvement to the 'real' framerate in some situations is fantastic. I can visit busy places that would normally be slowing me to a crawl and need me to drop to much lower graphics settings to keep things smooth, without having to do so. There have been great improvements. But the down side (I guess side effect of those) is bad. Frankly I feel it's a bit rubbish right now. Maybe I'm just being oversensitive because I so much want to enjoy what I'm making, but I don't think I am or that I'm alone in this.

Edited by Rick Daylight
Dyspraxic fingers, and no spellchecker
Link to comment
Share on other sites

 

1 hour ago, Rick Daylight said:

There are two seats; one shows up, the other just as a triangle at its lowest LOD that I am much too close to be supposed to see, even at LOD factor 2 (I'm at that).

This sounds like not missing objects, but running out of viewer resources so badly that the viewer is desperately reducing LODs to cope. That should not be happening with the hardware you have. How long was Firestorm open before this happened?

File a JIRA for Firestorm, including a screenshot. Yes, this is a huge pain, because you have to register for a Firestorm account. 

With the missing object bug, you see nothing, and can't click on it, edit it, or get any indication of anything being there. This seems different.

What I'm hearing from both Lindens and third party viewer devs is that the new performance improvement code does have problems, which are being worked on.

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

3 hours ago, Rick Daylight said:

A final thing... the supposed framerate. While the FPS display at the top of Firestorm is telling me 52 fps (I cap at 50)... I can still suffer from a juddery display to the point that it can cause motion sickness.

Syncing the fps to your monitor refresh rate or capping fps is fine as long as you dont move a lot. It also helps saving some money when using quite powerful graphics cards, especially when SL runs for a lot of hours a day.
Whenever i get to sailing, flying, etc, i turn off all cappings (with graphic presets), letting the FPS go to wherever they are able for a smooth experience.

Other from that i also would suggest just to wait for the next viewer update and hoping for things to improve.

  • Like 1
Link to comment
Share on other sites

@animats Oh, I have a Firestorm JIRA login, believe me ;)

It is different to the missing object bug; I get that too (just taken some snapshots of items missing even in wireframe that needed a relog to get back).

I have determined that *this* issue seems to depend on what is linked to what... the dodgy statue I mention is linked to other things to absorb and reduce the overall LI. So are all the other statues, but each is linked to different things to take advantage of their high download and low server cost. It's not just that though. I might be wrong about this but I get the impression that the viewer won't draw something, when I turn around towards it, until either the root prim or centre of the root prim is in direct view. Could be just my imagination though.

Yeah, I'll take a few snapshots when I'm in the mood. Although random, the issue is frequent enough that it won't take long. Most of the time, I just tend to hang around my land (slice of a homestead) and I don't think it depends on how long I've been logged in, but I'll keep that in mind and see if it makes any difference.

I think I was a bit down last night when I posted my OP; sort of regret posting really although it's true. I know things are being worked on and I am impressed with the way things are moving. Fixing the viewer shutdown process is a priority.

Edited by Rick Daylight
Link to comment
Share on other sites

I wonder if the inconsistent interframe period you are experiencing appears in the Fast Timers console as swap time.  Swap seems to be where most of the inconsistency I experience is, and I wonder, is this GPU VRAM exhaustion?

  • Like 1
Link to comment
Share on other sites

From the description of the symptoms, I think it is likely due to the RenderMaxNodeSize limit: this limit was implemented to prevent huge memory consumption seen with some griefing objects, but it also affects places where a lot of highly detailed meshes (meshes with a lot of vertices) are placed close together.

In this case, the ”spatial group” in which they are placed by the render pipeline (this is a group of objects that get rendered together, regardless of their type, so you can also find non-mesh objects grouped with mesh ones) can exceed the RenderMaxNodeSize limit, causing the entire group to get skipped by the render pipeline.

Workarounds range from reducing the RenderVolumeLODFactor (so that less vertices get rendered, with the hope that it will suffice to stay below the limit) to increasing RenderMaxNodeSize (which works better, but will cause a higher memory consumption both at the GPU and GPU levels).

You may also try the Cool VL Viewer: it got a work-around for this that gets enabled whenever you push the ”Mesh objects boost factor” multiplier above 1.0 (the corresponding slider is in the Graphics Preferences); this multiplier is used both to multiply RenderVolumeLODFactor for meshes only (*), and causes mesh objects vertices to get a ”discount” when computing the total amount of vertices in the spatial group before comparing it to RenderMaxNodeSize...

 

(*) Meaning you can keep a normal value for RenderVolumeLODFactor instead of having to push it to unreasonable values just to render some badly designed meshes, and affecting as well non-mesh objects as a result (which is bad, and adds to the max render group size issue).

  • Like 2
Link to comment
Share on other sites

I've just been trying to reproduce similar things in the official viewer... I can't. At least not in half an hour, yet in FS it's instant. In fact in the official viewer, spinning around in the middle of my lawn as quickly as I can (after waiting a good while facing one way) shows no delay at all in drawing what was behind me. It's the 'seamless' that I said it should be in my OP. Unlike when I do that in Firestorm and the ground cover plants take a second to show up as I cam around to them.

In Firestorm (and official), my GPU VRAM usage stayed around 1.6GB. GPU load never above 30%.

The issue is still happening in Firestorm after I relogged in that. Both those seats are currently triangles. The low LOD switchpoint is where they go to triangles - poorly made IMO but at least the medium LOD is appropriate. That is at 46m at my current LOD factor 2; the benches are 12m and 20m away from me. Everything around them is fine. If I take a step or two towards them or move my camera a bit, they'll show properly. Here's a snapshot (not) showing the bench seats - you can make out the triangles in the red highlights:

Snapshot_1546a.thumb.jpg.06ef488ed7068e4c8f1dda2a3e0141ec.jpg

I'll do some more testing, try some of the suggestions above, and probably get around to filing a Jira later.

  • Like 2
Link to comment
Share on other sites

FWIW I have been seeing both the phenomena you mention, Rick; both the odd slight stuttering at around 50FPS and the occasional poor rendering of mesh objects.  Like you I found that altering the LOD makes no appreciable difference to the poor rendering, though zooming in and back out "pops" the item in.  If I cam away from the object for more than a few seconds it reverts to the under rendered state.

The stuttering I had put down to two possible factors, one the current NVidia drivers (though rollbacks and update have made no difference, the other the writing of group chat to a busy (!) group, Firestorn Support English, which has a large log file.  I don't think either are the real reason but as to what it is I am unclear.

The issue has persisted through the last three FS updates, indeed I think it started even earlier, when the change to EEP was introduced, though this might simply be my dislike of EEP and general factors (don't you DARE call me an old fart who dislikes cheese moving).

  • Thanks 1
Link to comment
Share on other sites

18 hours ago, Rick Daylight said:

I'm sure there must be Jiras covering these things already, or I would file some. I know I'm not the only one.

There are some "related" Jira. This has certainly become more common since performance improvements but I've tried to find similar issues from earlier releases too. One of the problems is that there are many different reasons that an object might not show up and reproducing these bugs so that we can fix them is really the key. The more reports I have to compare and contrast the more it helps. I know that people get frustrated being asked to log Jiras (and I don't mean you here Rick, I mean in general) but I cannot understate how useful it is to have a good solid report of a bug especially if there is a way to reproduce it that we can try. 

A quick skim of Jira found https://jira.firestormviewer.org/browse/FIRE-32302 and https://jira.firestormviewer.org/browse/FIRE-32220

I've tried to reproduce these by driving around the tracks but either there is something about my system that refuses to repro, or (more likely) I am just too rubbish at driving to get a smooth enough lap 🙂

We also have (linked to those) https://jira.firestormviewer.org/browse/FIRE-32382

I doubt these are specific to Firestorm (though I cannot rule it out) it is more likely the result of the the recent upstream changes but until we can reliably reproduce it and then test it across viewers it will just sit with us and we will deal with it when we can. 

@Whirly Fizzleare you aware of other Jira's that Rick might want to look at to see if they relate to his issue. He can of course create another but collecting things together under one report is always nice. I worry that with the Lab busily trying to get PBR released, when we are still firefighting a raft of bugs introduced by the last major update that we're going to take a lot of the shine off of the excellent improvements by the loss of reliability. 

@Rick Daylight you say that you "cap at 50" can you confirm that this cap is not achieved by using Vsync please? VSync should be avoided in almost all cases. If you want to limit frame rate then use the viewers own fps limit which is far more reliable. (I also intend to take a look at @Henri Beauchamp's fps limit when time allows as that is a little more responsive as it manages the perceived frame rate separately to the background services, but in any case the in-built viewer limit will give you a far better result than vsync). VSync sucks because you do not get sync'd to the refresh rate but to some factor of the refresh rate. If you are hoping for 50fps, then the screen needs to draw every 20ms, with lame old school vsync if it take 21ms then you missed the vsync event and it will pause until the next one, dropping you to 25fps, causing input jitter and all kinds of other annoyances. VSync - Just say no.

 

Link to comment
Share on other sites

6 hours ago, Rick Daylight said:

I've just been trying to reproduce similar things in the official viewer... I can't. At least not in half an hour, yet in FS it's instant. In fact in the official viewer, spinning around in the middle of my lawn as quickly as I can (after waiting a good while facing one way) shows no delay at all in drawing what was behind me. It's the 'seamless' that I said it should be in my OP. Unlike when I do that in Firestorm and the ground cover plants take a second to show up as I cam around to them.

Sorry, should have caught this in my last reply. this is interesting, as given the LOD behaviour seems to be part of this, the LL viewer should be decaying sooner. If  this is an "instant" thing in FS, please reach out to me with an LM so that I can try. Due to RL I won't realistically get to do more than just look at this until next Wednesday but having somewhere it is likely to reproduce is worth seizing.

 

  • Like 1
Link to comment
Share on other sites

22 minutes ago, Beq Janus said:

I also intend to take a look at @Henri Beauchamp's fps limit when time allows as that is a little more responsive

It's way more responsive, and even speeds up textures rezzing (since it uses the ”free” time to do more tasks at the CPU level while it waits for the minimum delay between two frames to be exhausted); it only actually sleeps the CPU when there is no more work to do. 😛

Edited by Henri Beauchamp
  • Like 1
Link to comment
Share on other sites

@Beq Janus I do not use VSync, I checked and it is not enabled. I just use the Limit Framerate slider. I did notice however that VSync was enabled in the official viewer; pretty sure I've never touched any setting in there other than the Quality and Speed slider. I don't use the viewer at all except when testing something.

That Jira you linked regarding the missing track etc, I'm sure I see that sort of thing. At shop and hop today I was walking on water a few times as the floor didn't render or, once or twice, actually disappeared from under me when I click-TPd around. I don't know if it's related to my issue here though, other than perhaps there being some root cause somewhere.

Today I got an idea that perhaps the LOD level for an object was being incorrectly set by the smallest part of the linkset; so I unlinked the two most troublesome objects from the smaller parts that had much closer LOD switch points. At first it seemed to do the trick to the point that I started to file a Jira now I had something concrete, but then it happened again. It did seem to reduce the frequency of getting stuck at the lower LOD but that might just be coincidence or due to some other factor that changed because I was looking for something to happen. Red herring, probably.

I'll IM you with a LM to the middle of my lawn where most of the excitement happens - hope you can get it to happen for you. If you stand roughly where my rabbits are, walk a few steps towards the hedge towards the house then turn around to look back at the bench seats, that seems to be the best way to get them to occasionally stick at low LOD. While you are doing that, you can spin around to look back at all the blue and white ground cover plants (bluebells etc) and see if they delay in rezzing for you like they often do for me.

Edit: One thing I did get to the bottom of - my twitchy rabbit was because I had set my max avatars to 4 when in a busy place, and forgot. Oops... my bad.

Edited by Rick Daylight
Link to comment
Share on other sites

I run into this all the time when doing video work. In the photo tools panel under General, there is the 'Dynamically adjust level of detail' un check that and things that are rezzed within the view distance stay rezzed. (may have to zoom in to 'snap' them into place') I am sure it eats a little fps, but not much, but it helps prevents that annoying Now you see it, Now you dont

I do wish though FS would have a slider adjustment to adjust the "dynamic" part of the level of detail

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

Sounds more like it's exposing Debug Setting RenderDynamicLOD. Which basically "freezes" objects in it's loaded LOD when disabled. If you have just the lowest LOD of an object loaded, it will stay that way no matter how close you get to it. And vice versa, high LODs won't go down no matter how far out you get.

  • Like 1
Link to comment
Share on other sites

11 hours ago, arton Rotaru said:

Sounds more like it's exposing Debug Setting RenderDynamicLOD. Which basically "freezes" objects in it's loaded LOD when disabled. If you have just the lowest LOD of an object loaded, it will stay that way no matter how close you get to it. And vice versa, high LODs won't go down no matter how far out you get.

11 hours ago, Nick0678 said:

Yes

That is literally what i said.

Also turning Dynamic LOD off does not freeze them in their loaded LOD. Dynamic LOD simply makes object use LOD levels based on distance to your camera and object size, multiplied by your Object Quality setting. Turning Dynamic LOD off simply eliminates the range component (i do not know whether it eliminates the size component too but i'd assume so, at least from experience) and instead makes Object Quality directly and universally control used LOD levels. To put it simply Object Quality 2 with Dynamic LOD makes small objects and far away objects switch to lower LOD whereas with Dynamic LOD off they will simply use their highest or second highest LOD (they should not require setting it higher but some objects seem a bit... weird in that regard which might be because the size component is not disabled). Turning off Dynamic LOD however does not immediately show any effects since LOD updates only happen while your camera is moving (or when an object is first determining which LOD to use, possibly when certain other object updates are triggered), after toggling Dynamic LOD you will have to move your camera around, namely zoom closer to force update all LODs to their correct levels.

Link to comment
Share on other sites

9 hours ago, NiranV Dean said:

That is literally what i said.

Also turning Dynamic LOD off does not freeze them in their loaded LOD. Dynamic LOD simply makes object use LOD levels based on distance to your camera and object size, multiplied by your Object Quality setting. Turning Dynamic LOD off simply eliminates the range component (i do not know whether it eliminates the size component too but i'd assume so, at least from experience) and instead makes Object Quality directly and universally control used LOD levels. To put it simply Object Quality 2 with Dynamic LOD makes small objects and far away objects switch to lower LOD whereas with Dynamic LOD off they will simply use their highest or second highest LOD (they should not require setting it higher but some objects seem a bit... weird in that regard which might be because the size component is not disabled). Turning off Dynamic LOD however does not immediately show any effects since LOD updates only happen while your camera is moving (or when an object is first determining which LOD to use, possibly when certain other object updates are triggered), after toggling Dynamic LOD you will have to move your camera around, namely zoom closer to force update all LODs to their correct levels.

Actually it does freeze them as I described. If you have just a low LOD in cache, it's not going to load a higher LOD no matter how close you get, or what RVLOD is set to.

Link to comment
Share on other sites

22 minutes ago, arton Rotaru said:

Actually it does freeze them as I described. If you have just a low LOD in cache, it's not going to load a higher LOD no matter how close you get, or what RVLOD is set to.

That is not the experience i have made in any other Viewer. That sounds like a Firestorm bug to me then.

Link to comment
Share on other sites

11 minutes ago, NiranV Dean said:

That is not the experience i have made in any other Viewer. That sounds like a Firestorm bug to me then.

Well, I just use official LL viewers only.
It's not even the cache component. But it's easily to see that there is no LOD swithching anymore when you enable the show Render Info Display, select an object and zoom in and out. There is no change in kTris count anymore.

Hard to tell what really is going on from just watching it. I always had the impression that it's rendering everything just at their highest LOD, because that's what I see on most objects. But Runitai Linden explained to me that it's freezing the LODs actually.
And on further testing I noticed that there are indeed objects that are frozen in a lower LOD as well.
However, this tend to be rather small small objects only so far. So IDK, the size component you mentioned may play a roll as well.

Edited by arton Rotaru
Link to comment
Share on other sites

Dynamic LOD On @ 2 Object Quality

image.thumb.png.e3af0f46cb878b2c136147877be270e2.png

Next step, turned Dynamic LOD off and Object Quality to 4, as you can see that the objects did not update.

image.thumb.png.bf55cfb9703f9116f3ec0bcaebe71b16.png

Now zooming closer to update

image.png

And now zoom out again to see that LOD is still off and they do not change their LOD as expected, they stay at maximum quality as desired by the Object Quality 4 option.

image.png

Unless LL bugged LOD updates between 6.6.8 and 6.6.0 (which BD is currently based on) it should be the exact same behavior. BD has no changes in how LOD works, i have never even looked into the LOD code to begin with, i'm using stock LOD code here.

Note tho, after further testing that they do only update up, not down, they will only increase their LOD level and once at their maximum will stay there regardless of whether you lower your Object Quality setting or not, so its a one-way trip.

Edited by NiranV Dean
Link to comment
Share on other sites

I see!

I just did test it the other way around. I zoomed close on an object that was frozen in a lower LOD, and just pulled the LOD slider to the max (2.0). And it did update to the highest LOD then.

So yeah, looks like it's more like you described it actually. But still frozen when zooming the cam in and out.

Edited by arton Rotaru
Link to comment
Share on other sites

1 hour ago, arton Rotaru said:

I see!

I just did test it the other way around. I zoomed close on an object that was frozen in a lower LOD, and just pulled the LOD slider to the max (2.0). And it did update to the highest LOD then.

So yeah, looks like it's more like you described it actually. But still frozen when zooming the cam in and out.

Actually on further inspection, my Lowest Quality setting is 0.8 (unlike what the tooltip says -> 0.25) hence why everything remains high quality, i did see very handful of objects reducing their LOD very slightly, so i tested further and on dropping the object quality all the way down to 0.2 they do immediately update and drop LODs completely. As seen here:

image.thumb.png.c7261996c2a2a63a414af1e58b958f8c.png

Also yes, size seems to play a role, as i gradually increase the quality more and more objects cycle through their 4 LODs, until all of them arrive at 4. Although only smaller objects seem to update immediately, the big tree doesn't at all unless i move my camera.

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

@Henri Beauchamp I finally got around to trying Cool VL, and can confirm it does not have this stuck low LOD issue or the delayed drawing of objects when I turn around. Nor does Black Dragon from a ten minute test (although that gave me motion sickness with the swaying effect when I move my camera, lol). Seems these issues are Firestorm-only.

Although... Cool VL refused to show two of my three animesh bunnies until I relogged. Possibly the missing mesh bug... or just a random glitch. Or shy bunnies.

  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 400 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...