[Bug 29531] Folder navigation causes audio playback glitches in CDBurnerXP

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jan 20 12:41:42 CST 2012


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

--- Comment #4 from Jörg Höhle <hoehle at users.sourceforge.net> 2012-01-20 12:41:42 CST ---
(In reply to comment #1)
> There might be a problem with the timer code, but more likely we should be
> using a more reliable method to trigger our write() function periodically.

DSound uses timeSetEvent.  I observed that timeSetEvent has very different,
interesting semantics: it'll really maintain a constant rate even when system
load increases. It's very far from "sleep 10ms after every event".  It'll even
call us 10 times in a row if the system was busy for 100ms!
CreateTimerQueue shows callbacks at .015s, then .026, then .037 etc. 
timeSetEvent may go to .026, but then sleep less and hit .035s.
Alas, timeSetEvent is from winmm, whereas mmdevapi is below that.

http://wiki.cockos.com/wiki/index.php/How_to_run_Reaper_in_Wine_on_Linux
"Due to the way wine works there is a lot of overhead in using IPC (Inter
Process Communication). Reaper uses ... Native Events."
And they recommend to disable them -- and poll instead!

Yet I think we still have opportunities for optimization -- and first getting
the code correct -- before switching the trigger.  OTOH, why not now?

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