this method originates in the old MQn thread in CA. someone posted it.
my original outdated method:
1. go to registry. regedit.
2. go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pcw
3. set "Start" to 4 meaning disable the "Performance Counters for Windows Driver"
WARNING: this method not as good! processes still want to performance counting even driver is disabled! it causes stability problems.
Last edited by jesuscheung on Thu Apr 10, 2014 8:34 am, edited 1 time in total.
buffer & clockrate BIG IMPACT ON SQ. DOING IT WRONG WILL DAMAGE SQ. FOR ADVANCED USERS ONLY LOOKING FOR NOT JUST GOOD BUT PERFECT CLOCKRATE/BUFFER SIZE. AND FOR THOSE HAVE A STX DAC LIKE MIND.
THIS TWEAK APPLIES TO WASAPI AND ASIO4ALL. also applies to DS and waveout.
1. buffer and clockrate are dependent.
clockrate=buffer/sampling
e.g. clockrate=352samples/44100=0.00798185941=8msecs if you change the buffer, you must change the clockrate in registry
if 80 sounds wrong with your DAC, then 160, 320... will sound wrong.
if 444 sounds wrong, then 44, 88, 176.... will sound wrong.
if 1024 sounds right, then 256, 512.... will also sound right.
don't believe me? install foobar(or whatever)+ASIO4ALL(or WASAPI). test buffer+clockrate.
3. if you have a DAC xonar STX like me
-best buffer is style1
-i use buffer=352 and 352/44100=8ms as clockrate
-style1>style3>style2
4. setting clockrate precision
-in my example
buffer 352 = clockrate 0.007981859
you can set 7981(or 7982), 79818(or 79819), 798185(or 798186) etc in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Pro Audio
remember to use DECIMAL and NOT hex.
-better DAC should use bigger clockrate, as long as your DAC can handle it. don't be too greedy.
5. interesting notes on clockrate:
-for my DAC
a. clockrate=640/44100=14512 is cold+airy+lack bass with XA using correct buffer=640.
the same clockrate 14512 applies to MQn with incorrect buffer=2048 is also cold+airy+lack bass.
b. clockrate=2048/44100=44640 is not airy with XA using incorrect buffer=640.
the same clockrate is also not airy with MQn with correct buffer=2048.
-maybe this is why XA recommends buffer=640 + clockrate=10000 default value. because best clockrate depends on what DAC you have. player's buffer seems to have incomplete positive effect.
-style 3 e.g. buffer 640 + clockrate=14512(or 14513) is best for audiofire DAC.
-style 1 e.g. buffer 352 + clockrate=79818(or 79819) is best for STX DAC.
6. clockrate may depend on timer resolution. so given the benefit of doubt, try the figure out a clockrate that rounds to nearest msec (or as a multiple of timer resolution). in my case clockrate=79818 rounds to 8msecs.
Can timerresolution be set permanently to a certain value?
My timer resolution in a default GUI server 2012 r2 defaults to 15250 (actual 15252).
I can set it to 5000 (actual 5002) or 10000 (actual 10007), but it remains at that only for as long as i keep the window open that executes the ntsettimerresolution command.
Have not yet a clear picture what sets the value of timerresolution.
Aleg wrote:Can timerresolution be set permanently to a certain value?
My timer resolution in a default GUI server 2012 r2 defaults to 15250 (actual 15252).
I can set it to 5000 (actual 5002) or 10000 (actual 10007), but it remains at that only for as long as i keep the window open that executes the ntsettimerresolution command.
Have not yet a clear picture what sets the value of timerresolution.
Cheers
Aleg
i don't know what set the value either during OS boot.
foobar, wmp etc set it to 1ms.
my R2 defaults to 2ms. yours is 15ms? that's too big.
i also use ntsettimerresolution.
i suspect buffer size is related to timer resolution.
e.g. i have 8ms buffer and 2ms timer resolution, that's kind of perfectly fit coz 2+2+2+2=8.
8ms buffer doesn't really fit into 15ms. 15ms does sound worse in my system. i am suspicious.
i have read some articles saying 0.5ms increases power consumption for web servers. 0.5ms is very 'hard working'.
And also the powerconfig analysis the default timeerresolution is actually 156250 and is only set by an appliaction to a different value. Could be e.g. Foobar or some other player or program.
I did a 5 sec measurement and the only program requesting a different timerresolution was my program that sets the ntsettimerresolution.
So all appears to be in order with the default of 156250.
updated tweak number 4
added following:
NOTE: after VS2013 is installed, wait til ".NET runtime optimization services" to finish in the background. better SQ will kick in after that.
Aleg wrote:I can confirm JC's buffer/timerresolution combination is very good.
Buffer of 8 ms and timerresolution of 20000 (actual 20001) is a very relaxed beautifull and natural sound with a lot of warmth, detail and air.
BTW my registry clockrate is 464400. MQn version is 2.70
Cheers
Aleg
there is no restriction. pick any buffer you like is divisible by 0.5, 1, or/and 2ms.
i choose 8ms (actually is 0.798...) because in ASIO4ALL the best selectable buffer is 352.
for example, there is no 441 to select in ASIO4ALL. 441/44100 would have rounded to perfect 10ms.
Aleg wrote:I can confirm JC's buffer/timerresolution combination is very good.
Buffer of 8 ms and timerresolution of 20000 (actual 20001) is a very relaxed beautifull and natural sound with a lot of warmth, detail and air.
BTW my registry clockrate is 464400. MQn version is 2.70
Cheers
Aleg
there is no restriction. pick any buffer you like is divisible by 0.5, 1, or/and 2ms.
i choose 8ms (actually is 0.798...) because in ASIO4ALL the best selectable buffer is 352.
for example, there is no 441 to select in ASIO4ALL. 441/44100 would have rounded to perfect 10ms.
I wil certainly experiment some more, but not all sound equal.
E.g. 1 ms buffer and 10000 timerresolution sounds more strained.
Of course a myriad of combinations is possible this way, but I do like your combination.