[Bug 29168] Star Wars: The Old Republic game client hangs at intro splash

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Mar 9 02:25:37 CST 2012


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

--- Comment #139 from Xolotl Loki <xoloki at gmail.com> 2012-03-09 02:25:37 CST ---
(In reply to comment #138)
> Every thread reserves it then writes to it in thread_init.

Just realized that only the initial thread reserves and writes the virtual
memory address.  

I also realized what's different between my NtSetTimer and Carsten's patch:
Carsten's ends up calling update_shared_data_time every couple of microsecs:

0045:fixme:ntdll:update_shared_data_time 129757528561624540
0045:fixme:ntdll:update_shared_data_time 129757528561624570
0045:fixme:ntdll:update_shared_data_time 129757528561624640
0045:fixme:ntdll:update_shared_data_time 129757528561624670

My NtTimer code, when set to fire every 100 nanosecs:

    NtQuerySystemTime( &when );
    when.QuadPart += 1;

    status = NtSetTimer(handle, &when,
(PTIMER_APC_ROUTINE)shared_data_timer_apc, handle, 0, 0, NULL);

only fires every 150 microsecs:

000f:fixme:ntdll:update_shared_data_time 129757541427830810
000f:fixme:ntdll:update_shared_data_time 129757541427832270
000f:fixme:ntdll:update_shared_data_time 129757541427833710
000f:fixme:ntdll:update_shared_data_time 129757541427835170

If I set it to fire every 10 microsecs it actually does better:

000f:fixme:ntdll:update_shared_data_time 129757548414991300
000f:fixme:ntdll:update_shared_data_time 129757548414992020
000f:fixme:ntdll:update_shared_data_time 129757548414992820
000f:fixme:ntdll:update_shared_data_time 129757548414993800

Next I'll try a dedicated thread which just sets the times and does a
nanosleep...

-- 
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