Jörg, do you need more tests? I have a W7 home premium 32bit laptop I can boot.<div><br clear="all">J. Leclanche<br>
<br><br><div class="gmail_quote">On Tue, Mar 6, 2012 at 4:37 PM, Maarten Lankhorst <span dir="ltr"><<a href="mailto:m.b.lankhorst@gmail.com">m.b.lankhorst@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hey Joerg,<br>
<br>
Op 06-03-12 11:21, <a href="mailto:Joerg-Cyril.Hoehle@t-systems.com">Joerg-Cyril.Hoehle@t-systems.com</a> schreef:<br>
<div><div class="h5">> Hi,<br>
><br>
> If you can run MS-Windows without virtual machine, please visit testbot<br>
> <a href="https://testbot.winehq.org/JobDetails.pl?Key=17175" target="_blank">https://testbot.winehq.org/JobDetails.pl?Key=17175</a><br>
> download the 32 or 64bit executable and execute it.<br>
><br>
> I can't really trust vm machines for timing, but so far it appears that:<br>
><br>
> - Vista/w2k8SE/w7 perform rate correction so as to maintain an average number of callbacks<br>
> sync.c:583: TimerQueue period 10ms with 0 stress, flags 0<br>
> sync.c:558: thread 1340 hpctime   30 delta 15<br>
> sync.c:558: thread 1340 hpctime   46 delta 16<br>
> sync.c:558: thread 1340 hpctime   46 delta  0<br>
> sync.c:601: 80 callbacks within 796/800ms, avg 9.950/10<br>
><br>
> They'll refire with up to 0 wait upon noticing that it's very late!<br>
><br>
> sync.c:583: TimerQueue period 10ms with 7 stress, flags 10<br>
> sync.c:558: thread 1340 hpctime   46 delta 15<br>
> sync.c:570: thread 1340 busy 7ms<br>
> sync.c:558: thread 1340 hpctime   53 delta  7<br>
> sync.c:570: thread 1340 busy 7ms<br>
> sync.c:558: thread 1340 hpctime   62 delta  9<br>
> sync.c:570: thread 1340 busy 7ms<br>
> sync.c:558: thread 1340 hpctime   77 delta 15<br>
> sync.c:570: thread 1340 busy 7ms<br>
> sync.c:558: thread 1340 hpctime   84 delta  7<br>
> sync.c:570: thread 1340 busy 7ms<br>
> sync.c:601: 59 callbacks within 607/600ms, avg 10.288/10<br>
><br>
> It maintains its average even the callback is busy for 7ms within each 10ms interval.<br>
><br>
> sync.c:583: TimerQueue period 10ms with 12 stress, flags 20<br>
> sync.c:558: thread 828 hpctime   31 delta 12<br>
> sync.c:570: thread 828 busy 12ms<br>
> sync.c:558: thread 828 hpctime   43 delta 12<br>
> sync.c:570: thread 828 busy 12ms<br>
> sync.c:601: 42 callbacks within 507/400ms, avg 12.071/10<br>
><br>
> This one surprises me. No multiple threads are used. Wine uses several<br>
> threads here. When every callback is busy for 12ms, MS does not reach<br>
> an average 10ms per invocation, whereas Wine does, thanks to several<br>
> threads that execute the callbacks concurrently.<br>
><br>
> I want to figure out why several threads were not used.<br>
><br>
> sync.c:601: 40 callbacks within 4624/4680ms, avg 115.600/117<br>
> Ok. Note that the average is usually slightly lower than expected, simply<br>
> because the first callback is asked to fire at time period/2.<br>
><br>
> - w2k/xp do not maintain an average (at least on testbot)<br>
> sync.c:583: TimerQueue period 10ms with 0 stress, flags 0<br>
> sync.c:558: thread 836 hpctime   30 delta 15<br>
> sync.c:558: thread 836 hpctime   46 delta 16<br>
> sync.c:601: 51 callbacks within 796/800ms, avg 15.608/10<br>
><br>
> So at least in testbot, the minimum rate is the well-known 15.625ms interval.<br>
> Note that the 15.625ms is visible in the w7 testbot results too.<br>
><br>
> sync.c:583: TimerQueue period 117ms with 0 stress, flags 20<br>
> sync.c:558: thread 840 hpctime  311 delta 125<br>
> sync.c:558: thread 840 hpctime  436 delta 125<br>
> sync.c:601: 37 callbacks within 4561/4680ms, avg 123.270/117<br>
><br>
> Unlike w7, it never corrects to a smaller interval like 109ms to reach<br>
> the requested average of 117ms.<br>
><br>
> This is good news for audio in Wine, because we can make<br>
> CreateTimerQueue mimic Vista/w2k8/w7 behaviour to give us a stable rate (on average).<br>
><br>
> The logs are quite long, you can send me them per e-mail.<br>
><br>
> Thank you,<br>
>  Jörg Höhle<br>
><br>
</div></div>Have you tried changing the resolution with timeBeginPeriod? Supposedly affects those too..<br>
<span class="HOEnZb"><font color="#888888"><br>
~Maarten<br>
<br>
<br>
</font></span></blockquote></div><br></div>