http://bugs.winehq.org/show_bug.cgi?id=35587 --- Comment #23 from Riccardo <c10ud.dev(a)gmail.com> --- (In reply to Riccardo from comment #22)
(In reply to Dmitry Timoshkov from comment #21)
(In reply to Riccardo from comment #20)
sample run: - windows xp sp3: Large read: 15 for 11128460 bytes - overlapped: 0 Small reads: 14500 for 11128460 bytes - overlapped (total: 2782115): 2782115
- wine 1.7.16 ubuntu 14.04 x64 kernel 3.13.0-24-generic: Large read: 15 for 11128460 bytes - overlapped: 0 Small reads: 44849 for 11128460 bytes - overlapped (total: 2782115): 0
It would be interesting to compare this to a not overlapped case, which I suspect will show the same results.
Hello Dmitry, you're right, without FLAG_FILE_OVERLAPPED the results are more or less the same for both Windows and wine.
It looks like this issue is actually two different issues: - Commenting out (or, actually, disabling for type=FD_TYPE_FILE) send_completion in ntdll/file.c NtReadFile brings down my test case execution time from 55s to 5s in wine. See relevant line: if (send_completion) NTDLL_AddCompletion( hFile, cvalue, status, total ); - The fact that we're not doing overlapped IO locks the game UI for a while during load game load time: - with send_completion: ~120s to load - without send_completion: ~105s to load I think the game issue is a mixture of those two: the game may crash for slow systems because it might remain "locked" for a while (no overlapped IO)..and it's even a bit slower than it should because of the NTDLL_AddCompletion call. -- 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.