|
Post by Ian Green on Mar 15, 2010 13:29:27 GMT
After loading the ASIO4ALL driver, the bufferSwitch callbacks run at Normal thread priority. Assuming I have measured this correctly (not absolutely certain) it could cause audio glitches. But if I stop & restart the audio streams, subsequent callbacks come at highest priority (15).
This effect is present on both 32 and 64 bit executables running on Windows 7 x64, but is not present on 32 bit Windows XP running the same executable.
|
|
|
Post by Michael Tippach on Mar 15, 2010 14:16:22 GMT
ASIO4ALL uses MMCSS, where available - and therefore looking at legacy thread priority classes may yield misleading information.
This may also explain why under XP it gives consistent results, because there is no MMCSS under XP.
|
|
|
Post by Ian Green on Mar 15, 2010 16:28:35 GMT
You are quite right. Process Explorer from Sysinternals reports a dynamic priority of 24 on the first run, falling to 15 on subsequent runs. Thanks for the info.
|
|
|
Post by Michael Tippach on Mar 15, 2010 17:41:55 GMT
However, it should not fall back to 15, and I guess I even know why that is - meaning that indeed this would be something in need of fixing (though the expected impact likely being only minor)
|
|
|
Post by Michael Tippach on Mar 16, 2010 0:30:04 GMT
However, it should not fall back to 15, and I guess I even know why that is - meaning that indeed this would be something in need of fixing (though the expected impact likely being only minor) I've put a test build here: www.asio4all.com/debug/ASIO4ALL_2_10_English.exeIt should now always be base priority 15 and dynamic priority 24 for a MMCSS capable OS. Occasionally I get a readout of base 15/dynamic 15 in process explorer, which, for the same thread, may change after a while back into 15/24 for no apparent reason. For now, I'd consider this a glitch in either Process Explorer or MMCSS. So: Thank you for having brought this to my attention - even though it was a different problem from what you had originally reported!
|
|
|
Post by Ian Green on Mar 30, 2010 18:40:36 GMT
With the test build installed, I see the opposite of what you describe - Process Explorer consistently reports the priority as base 15 / dynamic 15. This is both for Process Explorer v11.33 and the new v12.
When I uninstall the test build and restore 2.10 Beta 1, the symptoms revert to what they were before.
Not that it makes any difference to the overall performance, as you said.
|
|