Dangit, i'm subscribed to the thread, but the forum didn't send me an email ...
> Well, the game itself is set to run at 45 frames per second--about 3 times the 15 frames per second at which the game's frame-by-frame pixel animations are rendered, which is itself a bit higher than the 12 FPS for traditional 2D frame-by-frame animations.
That is a rather unfortunate choice, since it doesn't match any computer animation, which is wildly different than non-interactive TV animation seem to refer to. I can go into more detail on that if you wish, but for now i'll leave it at that.
> That's probably not the cause of the mouse latency
It is, in part, since the mouse is drawn by your game itself, which takes at least 22ms, probably more, to react to user input; compared to the OS mouse cursor, which is hardware-blitted on top of your game whenever the OS pleases, how often the OS pleases, and in literally every instance faster and with less latency than any game's engine.
I strongly recommend you try the following:
1. Compile a version of the game that does not hide the OS mouse cursor, so you can see both the game and the OS cursor.
2. Start it up and run your mouse in circles.
3. Note how the game cursor is always lagging behind slighty, and also updating position less often.
(Though you might need to do that with a mouse that has a high polling, 1000+ or so, to see an appreciable difference.)
This video also explains the mechanics behind it a little:
https://youtu.be/hjWSRTYV8e0?t=101Keep in mind, all i'm asking for is an option to do the opposite of the current state:
Hide the ingame cursor and display only the OS cursor. Maybe dress it up a little with a custom .ico, but i don't really care for that.