Mouse procs are being called much less frequently when keyboard input is happening at the same time. The current behavior in v489 is significantly different from the v476 behavior (that version supposedly fixed this issue).
Numbered Steps to Reproduce Problem:
1. Download this library.
2. Run the demo that comes with it.
3. Move the mouse while not pressing any keys. Observe how smoothly the crosshairs move.
4. Hold down an arrow key and move the mouse at the same time. Observe how much less frequently the crosshairs are positioned.
The arrow key you're holding doesn't even have to cause you to move. If you stand in the bottom-left corner of the map and hold the left arrow key, you'll still see this problem. It's like the client only wants to send one message to the server and the mouse events are fighting the keyboard events to be that message (and the keyboard events usually win).
Code Snippet (if applicable) to Reproduce Problem:
|
|
Expected Results:
The crosshairs move smoothly as the mouse position updates regularly.
Actual Results:
The mouse position updates infrequently so the crosshairs movement is very choppy.
Does the problem occur:
Every time? Or how often?
In other games?
In other user accounts?
On other computers?
When does the problem NOT occur?
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.)
This problem sounded familiar and I came across this bug report. Unfortunately it looks like the issue was resolved, so I'm not sure if I'm seeing a different problem or if it wasn't entirely resolved.
I installed v476 and tried the demo again. The behavior is significantly different. The mouse position updates more smoothly, but you can still see that the updates are slower while a key is held. It looks like the bug came back. Can a client not submit a keyboard and mouse command to the server on the same tick (even with the fix to the other bug)? This would seem very odd.
Workarounds: