https://bugs.winehq.org/show_bug.cgi?id=57849
Bug ID: 57849 Summary: Multiple games: sleep accuracy is affected by mouse movement speed Product: Wine Version: 10.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wineserver Assignee: wine-bugs@winehq.org Reporter: wine@horvath.blog Distribution: ---
I noticed a problem occurring in osu! (stable) and AimLabs, where the in-game frame limiter would suddenly have worse accuracy when the mouse is moved. For example, an in-game frame limiter of 500fps will show ~2ms frame-time ingame, but when moving the mouse quick enough it will increase up to ~2.5ms. This maximum +0.5ms increase is constant from any starting value.
This behavior depends on mouse report rate and movement speed (more reports -> +0.5ms frame-time is reached faster), and is exacerbated when the wine-staging `user32-rawinput-mouse` patchset is applied. I can only presume that this is because there are more more hardware messages exchanged with wineserver (which the staging patchset further increases).
Furthermore, both of these games use alertable SleepEx to control the frame limiter.