http://bugs.winehq.org/show_bug.cgi?id=59440 --- Comment #2 from admin@uright.icu --- (In reply to Zeb Figura from comment #1)
(In reply to admin from comment #0)
I looked at perf.data, and 40% of the time was spent on the function NtWaitForSingleObject, which is obviously abnormal.
It might be and it might not be. perf can be very misleading especially when you're dealing with a situation where symbols are missing.
What's the actual performance characteristics of the game? How does it perform with server-side synchronization, with ntsync, and (if you tested) with esync or fsync?
I checked the locks, and one unnamed lock had an average wait time of 2.33 seconds.
Looks like you're misreading—the *total* wait time is 2.33 seconds (since the lock is taken many many times), the average wait time is only 3.88 µs.
Since I can't upload more than two attachments, the lock report for that line is as follows:
You can upload extra attachments in a following comment. Or archive them.
I've traced one of the hotspots to SleepEx(0, TRUE), which accounts for nearly half the CPU time. On Windows it returns quickly, but under Wine it just calls server_wait, which ends up going through wineserver and involves at least four syscalls. My proposed fix is to add a fast path in NtDelayExecution that uses linux_wait_objs. I'll send out a patch shortly. -- 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.