[Bug 29582] Star Wars Battlefront (I and II) "Loading" screen very slow.

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jan 13 01:44:28 CST 2012


http://bugs.winehq.org/show_bug.cgi?id=29582

--- Comment #3 from Daniel Santos <daniel.santos at pobox.com> 2012-01-13 01:44:28 CST ---
hmm, it would appear that this can actually be due to a failed call to
SetFilePointer where the return value appears to be ignored by the app.  The
GUI thread 0x0009 appears to interact with thread 0x0023 for loading data and
signaling each other back and forth.  It would appear that the GUI thread is
supposed to be waiting for something to happen, but thread 0x23 signals their
semephore and leaves it that way, leading the GUI thread to burn the CPU
hitting PeekMessageA, GetForegroundWindow

waiting for 

Note: due to an incomplete timestamp mod, timestamps on trace statements (in
milliseconds) are roughly 49.25 seconds behind other timestamps (which are in
microseconds) and server traces are timestamp-less.

708.860908:0023:Call
KERNEL32.SetFilePointer(000000e0,00000000,00000000,00000000) ret=0067ad93
758.129:0023:trace:ntdll:NtSetInformationFile
(0xe0,0x6d2e8f8,0x6d2e8f0,0x00000008,0x0000000e)
0023: get_handle_fd( handle=00e0 )
0023: *fd* 00e0 -> 34
0023: get_handle_fd() = 0 { type=1, cacheable=1, access=00120089,
options=00000068 }
708.860934:0023:Ret  KERNEL32.SetFilePointer() retval=00000000 ret=0067ad93
708.860940:0023:Call
KERNEL32.ReadFile(000000e0,04a07800,00020000,06d2ea04,00000000) ret=0067adbb
758.129:0023:trace:file:ReadFile 0xe0 0x4a07800 131072 0x6d2ea04 (nil)
758.129:0023:trace:ntdll:NtReadFile
(0xe0,(nil),(nil),(nil),0x6d2e908,0x4a07800,0x00020000,(nil),(nil)),partial
stub!
758.129:0023:trace:ntdll:NtReadFile = SUCCESS (131072)
708.861018:0023:Ret  KERNEL32.ReadFile() retval=00000001 ret=0067adbb

It's after this that it begins cycling on PeekMessageA, GetForegroundWindow,
WaitForSingleObject and ReleaseSemephore.  It doesn't do it forever, after some
time, it proceeds, but this is one place that it transitions from apearing to
behave normally to definitely misbehaving.

I'm not yet sure why the call to SetFilePointer failed.  I believe this call
should have caused it to seek to the beginning of the file (where the file
pointer should have already been since it was just opened).

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.



More information about the wine-bugs mailing list