When a client has low FPS and there are lots of mouse events going on like tracking and clicking, these can stack up and can cause a delay. If there are a lot of actions stacked up at once it can take several seconds to execute them all, but they take place in the order they were sent (nothing is lost). In a game with time-sensitive or reaction-based components to it, this can be bad: By the time you react to something (say an arrow flying at you), it's a couple seconds too late.
Numbered Steps to Reproduce Problem:
- Run the test project
- Move your mouse around to make sure it faces your cursor
- Click turfs to make sure they change colour
- Spawn particle sets using the verb until your FPS drops noticably
- Repeat steps 2 - 4 until the issue occurs
Code Snippet (if applicable) to Reproduce Problem:
// Test Project
Expected Results:
The mouse to stay caught up with real-time, even if a few commands end up getting lost on the way.
Actual Results:
Mouse commands get backlogged and all execute in order they were sent.
Does the problem occur:
Every time? Or how often? The problem is only apparent when the client has low FPS (ie when they have many particles on screen)
In other games? When do I ever test this?
In other user accounts? You Betcha
On other computers? Indeed
When does the problem NOT occur?
When the player has a computer that's not shitty like mine, or when their FPS is good, such as when they have a computer that's not shitty like mine.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Didn't test that stuff bb.
Workarounds:
Lie down, fold your hands on your chest and prepare for an existential crisis
Ye Olde Teste Case
https://cdn.discordapp.com/attachments/725458744711839873/ 843947404730564658/click_lag_src.zip