[Bug 60522] New: winebus.sys: input report queue never drops old reports, causing growing controller lag
http://bugs.winehq.org/show_bug.cgi?id=60522 Bug ID: 60522 Summary: winebus.sys: input report queue never drops old reports, causing growing controller lag Product: Wine Version: 11.20 Hardware: x86-64 OS: MacOS Status: UNCONFIRMED Severity: normal Priority: P2 Component: hid Assignee: wine-bugs@list.winehq.org Reporter: tomcool420@gmail.com Target Milestone: --- winebus queues every input report in ext->reports (process_hid_report in dlls/winebus.sys/main.c) and never drops any. If a device sends reports faster than they get read, the queue just keeps growing and the game sees older and older input. How I hit it: Steam Controller through Steam Input on macOS. Steam's virtual Xbox pad (045E/028E, picked up by the IOHID backend) sends a report for every little stick jitter, around 830/s even when you're barely moving. Under load, delivery to hidclass drops to roughly 520-700/s and the backlog never recovers. From a +hid trace of a Diablo IV session: - the queue peaked at ~14,700 reports, about 17 s of input lag - it only clears when Steam stops sending (alt-tab, quit), and then it drains at ~4,000 reports/s Native's HID class keeps input reports in a ring buffer (32 reports by default, see IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS), so stale input can't pile up like this. Wine's own hidclass already does the same per handle. Seen on CrossOver 27 builds (Wine 11.15 and 11.17 based); process_hid_report is the same on current master. MR to follow. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60522 Thomas Cool <tomcool420@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86-64 |arm -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla