Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lightyear breaks down if the fps becomes too low? #593

Open
cBournhonesque opened this issue Aug 14, 2024 · 4 comments
Open

Lightyear breaks down if the fps becomes too low? #593

cBournhonesque opened this issue Aug 14, 2024 · 4 comments
Labels
C-Bug Something isn't working

Comments

@cBournhonesque
Copy link
Owner

Example raised by simbleau.

Symptoms:

  • latency seems to be increasing if the FPS is too low, it keeps increasing at a constant rate to infinity.
  • crazy rollbacks

TODO:

  • check if there are many rollbacks
  • check if the client/server have the same inputs at the same time
  • check if there is a death spiral on rollback?
  • check if the sync between client and server is fine
@cBournhonesque cBournhonesque added the C-Bug Something isn't working label Aug 14, 2024
@Nul-led
Copy link
Collaborator

Nul-led commented Aug 23, 2024

Is this related to a specific platform / transport?

@cBournhonesque
Copy link
Owner Author

It was on web, with webtransport.
basically when they open the inspector, the FPS of their game drops and then the latency keeps climbing and the game becomes overall unplayable

@Nul-led
Copy link
Collaborator

Nul-led commented Aug 24, 2024

Would be nice to test if this happens on other platforms/transports too otherwise it might be an issue with xwt / lightyears integration of it

@simbleau
Copy link
Contributor

simbleau commented Aug 27, 2024

I'd guess it's not specific to xwt because everything is solid under normal circumstances. It's only when the FPS is too slow, and updates begin to pile up quicker than they're being processed. It's like a weird death spiral.

My game runs at 10fps when the console is up and printing logs, or 30-40fps in debug mode without the console. Opening the console was just a convenient way to reproduce a low fps.

The rollbacks don't make much sense to me, or I'm misunderstanding how they work. I believed the default redundancy of packets is 10, meaning as long as you don't drop 10+ packets in a row, you should never see a rollback. I am buffering inputs every update, e.g. the framerate. My input send rate is 10Hz. With a packet redundancy of 10, I wouldn't expect a rollback to happen unless the latency is at least 1 full second (0.10s * 10 packets). My input is fully deterministic as well. Instead, it's constant rollbacks when the FPS is low, (<20fps).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants