Implement THREAD_PRIORITY_TIME_CRITICAL
Mike Hearn
mike at plan99.net
Tue Apr 4 08:29:42 CDT 2006
> I know I didn't offer a solution, just standard rules for multithreaded
> application writing. The fact that wine is a compatibility layer rather than
> its own application is most of your problem. Is there no way wine could have
> an audio thread that does nothing but the compatibility component between the
> running win32 application and the alsa drivers? That would use very little
> cpu even if the win32 app internally does funky decoding and whatever else.
I don't know. I'm not an audio guy, I just implemented the kernel side
of SetThreadPriority :) Hopefully one of our DirectSound gurus will pipe
up, I CCd Robert Reif who did a lot in this area.
I would be surprised if the current audio thread was using lots of CPU.
Looking at wodPlayer() in dlls/winmm/wineoss/audio.c, it just sits in an
infinite loop either waiting for more audio or a command. There's no
polling that I can see at least, not at that level.
I guess this really depends on what you mean by "little cpu time". How
little is little? Isn't relying on this mechanism very fragile - you
said yourself requiring a thread to be scheduled regularly is not good
practice.
thanks -mike
More information about the wine-devel
mailing list