Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
102 stars 0 forks source link

Lowering texture quality settings after game start and reloading all textures causing constant stutter #1932

Open AeoMayo opened 2 weeks ago

AeoMayo commented 2 weeks ago

Describe the bug?

It seems like Lowering both the texture quality settings after starting the game and reloading all textures causes a bad constant stutter every 2-3 seconds. It also absolutely spams logs with failed gather jobs. It even does this on an empty fresh grid space.

No mods.

To Reproduce

Start the game with unlimited texture quality settings, then lower them and reload all textures. It does not do this if you start the game with lowered texture quality settings, or if you change them to higher quality settings.

Expected behavior

For it to be smooth.

Screenshots

No response

Resonite Version Number

Beta 2024.5.3.561

What Platforms does this occur on?

Windows

What headset if any do you use?

Occurs both in VR and desktop

Log Files

MA3A-6-REDUX - 2024.5.3.561 - 2024-05-03 10_52_07.log

Additional Context

I also tried reloading the world to see if a fresh load would help, but it didn't. Also mind the log is a bit truncated because the googlevideo links exposed my IP address. I edited them out.

Reporters

No response

shiftyscales commented 2 weeks ago

The setting itself does note that the operation could be heavy. If you leave things running for a while, does the stutter eventually ever stop @AeoMayo? How long had you left Resonite running after noticing that issue?

Does it occur consistently, even after restarting, or is there any dependency on it being asset variants that haven't previously been cached?

shadowpanther commented 2 weeks ago

I've noticed that the AVS queue is going up again today. This might be the cause for failed gather jobs in your log.

image

Also, if the needed variant of the texture is not provided by the Cloud (because the AVS is stuck), it might be computed locally instead, which might cause the stutter.

AeoMayo commented 2 weeks ago

It never stops. I left it running for a good 10 minutes and it stayed stuttering at a very consistent rate.

If I restart with the lowered settings applied, it doesn't stutter upon restart, as stated in the issue "It does not do this if you start the game with lowered texture quality settings", only if you change them to lower quality while the game is running.

I don't think there's any asset variant dependencies since as stated in the issue "It even does this on an empty fresh grid space" of which I've loaded plenty before and should not take more than just a few moments to reload all textures while wearing a very light avatar.

@shadowpanther This does this on an empty grid space that should be very much calculated and not failing. Even if I wear the default Resonite avatar, it seems to spam logs with failure.

Addendum: it's very odd that this doesn't happen at all if you start the game with the lowered texture quality settings.

JackTheFoxOtter commented 2 weeks ago

I've noticed that the AVS queue is going up again today. This might be the cause for failed gather jobs in your log.

It could very well be, but I would say even if gather jobs are failing, they probably shouldn't stutter the game massively, at least not permanently. Also the fact that it only happens when you change the setting, not when you restart the game, is indicating to me that this is probably not intentional.

shiftyscales commented 2 weeks ago

It's useful to know it is occurring on a gridspace as well. For a further sanity check on that, could you prevent the load of your cloud home, and wear an avatar with no textures to ensure there aren't any additional texture assets, @AeoMayo?

Does the texture resolution you set have any noticeable effect on the amount of stuttering that occurs? My immediate thought on the source of stutter was what shadowpanther had noted above- local computation of variants.

Going a step further still beyond gridspace- does the issue also occur in Local for you?

VirgilCore commented 2 weeks ago

Since the textures in a gridspace are procedural, would there just be no lower resolution version of the asset to gather? Just a thought.

AeoMayo commented 2 weeks ago

@shiftyscales The stutter does occur in local as well amusingly. Only like one or two failed gather jobs though and no other further gather job spamming that I can see. I don't have a textureless avatar on hand to test with and I need to leave in a bit but I will add that to the poking list when I get back. The only avatar that loaded was the Resonite default. It seems like the stutter actually occurs more frequently the higher my FPS is, as instead of every 2-3 seconds it was every half second. I noticed the same phenomena on an empty grid space.

Attaching relevant log file for the local home test. I used the launch command to not load my cloud home. MA3A-6-REDUX - 2024.5.3.561 - 2024-05-03 11_20_07.log

Frooxius commented 2 weeks ago

This is somewhat expected if you force all the textures to reload.

The lower size requests variants that haven't been computed yet (hence all the fails and sudden increase in AVS work).

Because they don't exist, all the variants will be scheduled to be computed locally, which is heavy and cause stutters.

Best thing is to just change the setting and don't reaload everything at once, let the textures compute gradually. Otherwise you're just overwhelming the system.

AeoMayo commented 2 weeks ago

Why does this happen in local then and continues to stutter consistently for what seems like indefinitely? Something like local shouldn't be computing and stuttering for half an hour. I left it for that long while I went to the store and came back, still stuttering.

shadowpanther commented 2 weeks ago

hence all the fails and sudden increase in AVS work

The issue with AVS, as usual, is that it seems to have stopped processing the variants, see the bottom graph which is the derivative of the total processed jobs metric:

image
shadowpanther commented 2 weeks ago

Why does this happen in local then and continues to stutter consistently for what seems like indefinitely? Something like local shouldn't be computing and stuttering for half an hour. I left it for that long while I went to the store and came back, still stuttering.

What your client also regularly requests is the preview textures for the world browser. And as almost no one requests them in the smaller resolution and as the AVS doesn't seem to be working at the moment, these would also convert locally for you.

Frooxius commented 2 weeks ago

I'm investigating the AVS stuff right now, there might be something odd going there actually.