https://bugs.winehq.org/show_bug.cgi?id=53100
--- Comment #2 from Ilya Trukhanov lahvuun@gmail.com --- Yes, it occurs with the demo.
The demo is SFW for the first few scenes, in case anyone wants to test it. The issue is very noticeable when text is being printed to the screen — it just stops mid-sentence for a moment, then the rest suddenly appears. But it's not just the text, the whole game becomes choppy, so I suspect the game queries controllers in the render thread, because sound works fine.
Seems like the game really does use winmm, judging by some of the imports: 1 0x005703d4 NONE FUNC WINMM.dll joyGetNumDevs 2 0x005703d8 NONE FUNC WINMM.dll timeGetTime 3 0x005703dc NONE FUNC WINMM.dll joyGetPosEx 4 0x005703e0 NONE FUNC WINMM.dll timeBeginPeriod 5 0x005703e4 NONE FUNC WINMM.dll timeEndPeriod
I also did some "profiling" with gettimeofday, and it seems that find_joysticks spends the most time in the call to IDirectInput8_EnumDevices.