Evidence note: This article rests almost entirely on primary, self-published sources: an engine’s own announcement post and a set of public code repositories describing their own purpose. Those are reliable evidence of what each project claims to do, and they are cited that way throughout. They are not independent verification. No third-party benchmark, reproduction, or vendor confirmation was located for any of the fixes discussed, and PlayAgit ran no test of its own for this piece. Sources were reviewed on 2026-09-16. Where a specific number, threshold, or performance effect appears below, its evidence level is marked at the point it is made.
A mouse that reports its position more often should, intuitively, make a game feel better. For several years now, the opposite has been reported often enough that engine teams and individual developers have written fixes for it — and the fixes keep arriving one project at a time, each apparently unaware of the others.
Godot ships a fix for high polling rate mice on Windows
The Godot project published a post on its engine blog announcing that a performance issue with high polling rate mice on Windows has been fixed in the engine, and explaining the fix (Godot’s announcement). That announcement is the engine’s own statement about its own code, which is the strongest kind of evidence available for a claim like this and also the only kind found here: no independent reproduction or third-party confirmation of the fix’s effect was located.
Readers coming to this cold may want the background first — PlayAgit’s earlier explainer on how high polling rate mice break games and how engines fix them covers the shape of the problem, and a separate overview of Godot as an open-source 2D and 3D engine covers where this engine sits among its peers.
What the Godot write-up says the fix does, and why the problem still bites in 2026
Godot’s post is framed as more than a changelog entry: according to the project’s own description, it sets out how the high polling rate mouse fix works and why the issue is still worth explaining today rather than being a solved historical curiosity.
That framing is itself the interesting part. A bug fix that needs an accompanying essay is usually a fix at a layer where the cause is not obvious from the symptom — the player sees stutter, the developer sees a frame time spike, and the actual trigger sits in how input events arrive from the operating system. The specific technical content of Godot’s explanation should be read at the source; what can be stated here without overreach is that the engine considered the problem current enough in 2026 to publish about, not merely to patch quietly.
Why a faster-reporting mouse makes an engine slower
The following is an explanatory model, offered as analysis rather than as a measured result — no instrumented trace was run for this article, and none of the cited sources provides one publicly.
A pointing device reports movement at a fixed cadence. Raise that cadence and the operating system delivers proportionally more input events per second to the application. That is harmless if the cost of an event is negligible. It stops being harmless when the per-event path does real work: allocating, locking, copying state, waking a thread, or notifying systems that recalculate something each time they hear from the mouse. Multiply a small per-event cost by a large multiple in event count and a cost that never showed up in profiling becomes the dominant term.
The freeze-shaped failures — as opposed to a mild framerate dip — point at a second mechanism: a queue that is drained once per frame but filled faster than it drains. Once arrival outpaces consumption, the backlog grows for as long as the player keeps moving the mouse, which is precisely the reported symptom pattern of stutter while moving and recovery when the hand stops. This is consistent with the reports collected below, but consistency is not proof, and the actual cause in each project may differ.
Sledding Game: multi-second freezes while the mouse moved, and the dedicated project that addressed them
One of the clearest symptom descriptions comes from a project created specifically for it. The sledding-mouse-fix repository states that high polling rate mice caused multi-second freezes during mouse movement in Sledding Game, and that the project addresses them.
The "multi-second" figure comes from the project’s own description of the problem it set out to solve; it has not been independently reproduced or timed for this article. Taken at face value, it is a useful data point precisely because it is so far past the threshold of subtle: this is not a frame-pacing nuance but a hang long enough that a player would assume the game had crashed.
Unity above 1000 Hz: stuttering in the editor and in builds, patched by an attachable script
A separate project targets Unity. Its description reports that polling rates above 1000 Hz cause stuttering both in the editor and in shipped builds, and that the remedy is a script a developer attaches within the project (Unity-Mouse-Polling-Rate-Fix).
This claim has not been independently cross-checked and should be treated as uncorroborated: the 1000 Hz threshold, the presence of the effect in both editor and builds, and the effectiveness of the attachable script all rest on the repository’s own account. Unity itself has not been found to confirm any of it. What is worth noting regardless of verification status is the shape of the remedy — not an engine patch a developer waits for, but a component dropped into a project. That is the workaround pattern of a problem that has no fix at the layer where it belongs.
Two more one-off fixes: raw mouse input for GTA San Andreas: The Definitive Edition, and a WebGL input fix
Two further projects describe themselves in the same terms. GTASADE-RawMouseFix is presented by its authors as an experimental raw mouse input fix for GTA San Andreas: The Definitive Edition that adds high polling rate support. WebGL-Mouse-Input-Fix describes itself as a mouse input fix targeting high polling rates in WebGL.
Neither has independent corroboration, and the first describes itself as experimental. The pattern across four projects is the substance here: a shipped commercial remaster, a browser runtime, a commercial engine, and a single indie game each carrying a separately written fix for a symptom described in nearly identical language.
The shared framing: Microsoft’s Windows, and the two versions of it that shipped in 2015 and 2021
Nearly all of the above is framed as a Windows problem. Reference documentation describes Windows as a computer operating system developed by Microsoft, with Windows 10 released in 2015 and Windows 11 released in 2021.
These background details were not independently verified for this article and are included only to fix the terms the fixes refer to; nothing in the argument below depends on the exact release years. The relevant point is narrower: if the cause lived purely in one operating system’s input delivery, the fixes would cluster there and stop.
A Linux fix for the same symptom breaks the platform story
They do not stop there. MouseFix describes itself as a high mouse polling fix for Linux users on LWJGL 2.9.x — and its own framing is that the problem is not exclusive to Windows.
That single repository is the most analytically valuable item in the set, and it is also the one carrying the least corroboration: the claim rests entirely on the project’s self-description, with no independent confirmation found. If it holds, the neat explanation — that one operating system’s event delivery is the culprit — cannot be the whole account. A symptom that appears on Linux under a specific Java bindings library version, and on Windows across a remaster, an engine, and a browser runtime, is better explained by application-layer and runtime-layer event handling that was written when 125 Hz was the ordinary case, than by any one platform’s kernel behaviour. That inference is analysis, not a measured finding.
The same signal rate, a different device: ghosting workarounds collected for mechanical keyboards
A further collection extends the pattern sideways. A keyboard ghosting troubleshooting repository gathers workarounds and fixes, and high polling rates are reported in this context as associated with ghosting issues on mechanical keyboards.
This association is uncorroborated and should not be read as established. Ghosting has well-known causes in keyboard matrix design that have nothing to do with report rate, so an association reported in a workaround collection is weak evidence of a shared mechanism with the mouse cases. It is flagged here as an open thread, not a supporting pillar.
What this means for developers choosing where to put their own input fix
For a developer meeting this symptom in their own project, the collected evidence supports a few practical positions — with the caveat that each rests on the self-reports above rather than on verified results.
- Check the engine first. Godot has announced a fix in the engine itself. If the engine ships one, an application-level workaround is redundant and becomes a maintenance liability.
- Reproduce with the device, not a setting. Every report ties the symptom to movement at a high report rate. A reproduction that does not involve sustained mouse motion at the rate in question is testing something else.
- Distrust the platform assumption. The Linux project is the reason to write the fix at the input-handling layer rather than behind a Windows-only branch.
- Treat an attachable script as a stopgap. A per-project component is a reasonable unblock, but it leaves every other project on the same runtime exposed. If the cause is in the runtime, the fix belongs there.
- Separate the keyboard question. Do not assume one root cause spans both device classes without evidence.
Open question: which layer should own the fix, and what would need to be measured to say
The unresolved question is ownership. Across the projects surveyed, the fix has been placed at four different layers: inside an engine, inside a game project as an attached component, alongside a shipped commercial title, and against a bindings library on another operating system. None of the sources argues for its layer over the others; each simply fixed the instance in front of it.
Settling it would take measurement that does not currently exist in public form. A worthwhile follow-up — proposed, not performed — would hold the application constant and vary only the report rate, capturing frame times and input-event counts per frame on both Windows and Linux, across at least two engines, with the device rate stepped through its available settings. Three things would make the result decisive: whether cost scales linearly with event count or collapses past a threshold; whether the same engine shows the effect on both operating systems; and whether disabling the application’s own per-event work removes it. Until something like that is on record, the honest summary is that several projects independently found the same symptom, each fixed it where they could reach, and no one has shown where it actually lives.
