One year after I come back to this suggestion, to turn Windows in a RT mode
(enough RT for RT audio I mean),
after having thought to different possibilities like thread RT
characteristics, Core Allocation etc .
the conclusion is that all are complicated on both side (windows developers
and application developers).
So the simplest way for everyone remains to offer a System Mode (possibly
located in system / performance dialog box)
allowing to place the Windows Operating System with 0.1 ms timing (instead
of 1 ms today).
And to provide at least one new function:
uSleep(microsecond) to be able to wait for 100 ums (= 0.1 ms)
And a function to check if the operating system is in RT mode or not.
De : wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] De la part de Vincent Burel
Envoyé : mercredi 28 septembre 2016 09:34
À : wdmaudiodev@xxxxxxxxxxxxx
Objet : [wdmaudiodev] Windows & Real Time : suggestion to Microsoft Kernel
I develop Real Time Application under Windows since WIN95 and I finally got
the following conclusion,
to improve Real Time under Windows and to compete with Audio Hardware
Devices (for example based on DSP or FPGA):
We are missing a single function :
Sleep(0.1f) or uSleep(100)
Even with a 20% timing error, it will allow to manage 8 to 16 samples audio
buffers (which is the latency range for current audio hardware devices)
General algorithm for Real Time Streaming Management are basically like
With a guaranteed number of loop around 8000 to 12000 per second. it is
enough to manage 0.5 ms audio buffer latency.
(while the current Sleep(1) function allows today to manage 5 ms audio
buffer latency in pretty reliable way -).