My thread in the LMS forum was closed down, but I still have some changes to report. I am happy to reply to any questions about the effects of these mods.
The web is full of optimisations for audio playback, this is a consolidated list of mods that I have found that work, I am getting significant improvement in resolution with these.
Win 7 Multi Core Optimisation for LMS
________________________________________
Windows 7 is great O/S for running LMS on and there are a number of enhancements/configurations that can be made to improve performance and hence the sound.
I have spent some time trawling the web and trialling various set ups and this thread documents what I have found to work in my system. Hopefully it may be useful to others too.
requirements - Win 7 SP1, I have Home Premium, a laptop/computer with more than 2 logical cores, I have an i3 (4 core), check via task manager performance tab, if in doubt. May work on 2 core, have not tested it for obvious reasons - the Game Booster 3 would be worth trying if nothing else.
Will this make a difference to my system ? Download Fidelizer and try it on Audiophile setting, make sure you untick the set Windows X's Live as Home Page. If you can hear a difference playing music and prefer the sound then you will probably benefit from the steps below.
Note - I am using a Touch modified to Fidelity Audio Level 1 and I run it with Soundcheck's TT3.0 with all the options enabled, but with Squeezebox Touch default priority and buffer settings. The mods below should benefit anyone running LMS.
The basic theory behind these mods is to take load off the computer and also to optimise the way processes are executed.
Basically this is one long advert for Fidelizer and how good it is, but for me it is a pain in the rear to use and I don't like the developer's philosophy where he makes it a pain to start rather than working out a way to charge for it. So, even if you stick with Fidelizer I would still recommend the use of Process Lasso to get Squeezeserver on it's own cores, disabling core parking and the use of Game Booster 3, you can even leave out Process Lasso and just have disabling core parking and the use of Game Booster 3. Or just run with Fidelizer, but at least you now know there are other options.
There are a number of guides to how to reduce the impact the Win 7 visual experience has on the system and also how to switch off services that are not neccessary to Squeezeserver operation. The links are below, I have optimised the visual side and switched off some non essential services, but it is hard to tell if these have made any difference to sound quality.
right, now the steps that make a difference
update - now using a mixture of JPlay and fidelizer settings
Squeezeserver on core 1,2,3 priority real time, i/o high and same with svchost.exe (netsvcs) and lsass.exe which is the MMCSS process
everything else on core 0, priority idle, i/o very low apart from
these windows processes which are all priority normal and i/o normal on core 0
svchost.exe (dcomlaunch),svchost.exe (localservicenetworkrestricted),svchost.exe (networkservice)
the reasoning was that fidelizer gives more priority to processes used by MMCSS, am running with svchost.exe (netsvcs) at realtime priority and i/o high as have MMCSS audio profile priority settings at 26. Sounds very good an extra bit of detail.
gives a more presence and atmosphere than the fidelizer method below.
both Fidelizer and JPlay adjust the windows timer resolution to .5 ms, so here is a $10 aus app that allows you to do that
The aim here is to mimic Fidelizer to an extent so that processes which are not required have a priority of idle and also that all processes except for Squeezeserver are assigned to core 0.
To do this I use Process Lasso, it is free and allows process priorities and core affinities to be set for each time the process is run, so next time you reboot the settings wil be retained.
when setting up there is a scope of each instance of Process Lasso panel, select manage the processes of all users (including SYSTEM processes) and also select run with elevated rights and manage processes of elevated rights
Warning - if your system is unstable with Fidelizer then it will probably be unstable with Process Lasso as well
get familiar with the Process Lasso gui, hide the graph. If you haven't already started Fidelizer then start it with Audiophile setting.
Go to the Process Lasso gui and click on the priority class column title so that the highest priority processes are at the top. Highlight all the idle processes click and then shift - click, right mouse click and set default priority to idle, also set the default core affinity to core 0. Now do the same for the non idle priority processes except don't set a default priority, just set the core affinity to 0.
Start up Squeezeserver, go to Process Lasso, set Squeezetray.exe to default priority idle and default core affinity to 0.
Set SQUEEZ~3.EXE to default priority Normal and core affinity to 1,2,3 for a 4 core system.
Reboot to clear Fidelizer. You should now have the process priorities and core affinities set by Process Lasso.
Now, surely Windows does all this task management adequately and why is this neccessary. Well, yes, Win 7 has very good task and resource management and it does sound good, but I think it sounds better with the Squeezeserver running on it's own cores, it is easy with Process Lasso to revert back to the default processes and core affinities to test the sound. To me the sound with Squeezeserver assigned to 1 core is better than the default, sounds more ordered, not so messy as the default and the sound when assigned to 3 cores is better than just being assigned to 1 core. The sound with 3 core assignment has more going on and it is still an ordered sound.
ok, but it still not as good as Fidelizer
copied from this link http://forum.cakewalk.com/tm.aspx?m=1861804, make the changes below, this produces quite a nice effect, the sound is smoother and more relaxing, take a copy of the registry before the changes.
Here is where some registry setting changes come in
- Go to Regedit
- Find this key:- " 0cc5b647-c1df-4637-891a-dec35c318583 "
- Within this key, there is a value called: " ValueMax "
- This value represents the % number of cores the system will park - the default 100% ie: all Cores are potentially park-able
- Change the value from 64 to 0 so the " ValueMin " and " ValueMax " are both zero
- You will have to find the key a few times and repeat the process for each time it is found - the number of instances will depend on the number of power profiles in your system [ in my DAW it was only found twice ]
- Do a full shutdown and power-off and cold-re-start
these registry entries alter the priority of the real time clock and numerical processor yo highest and graphics media accelerator to lowest. check your own irqs with msinfo32 from dos prompt then select hardware then select irqs. these entries need to be added in as dword.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\PriorityControl]
"IRQ4294967294Priority"=dword:00000020
"IRQ8Priority"=dword:00000001
"IRQ13Priority"=dword:00000001
copied from this site http://www.sensomusic.com/forums/viewtopic.php?id=2463
Process Lasso has the option to classify a process as a Multimedia Player, this allows MMCSS to alter the priorities further to ensure the audio process gets the optimum resources. click on SQUEEZ~3.EXE and right mouse click, the classify option is just over half way down the list of options.
The Multimedia classification gives a slightly more detailed and richer tone than the default ie without the Multimedia classification and you would probably need a high resolving system to get any benefit.
There is a further tweak to the MMCSS audio profile, where the priorities are set to the same as Pro Audio, Background is set to True, the priorities are set to 26 and the clock to 1. 26 is chosen because the MMCSS task runs at priority 27. clock rate of 1 = 100 nS and is the highest rate available, the default is 10000.
the registry settings are below, this includes affinity for cores 1,2,3 the default is "Affinity"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\A udio]
"Scheduling Category"="High"
"SFIO Priority"="High"
"Background Only"="True"
"Priority"=dword:0000001a
"Clock Rate"=dword:00000001
"GPU Priority"=dword:00000001
"Affinity"=dword:00000000
"BackgroundPriority"=dword:0000001a
MMCSS has been implicated in reducing network bandwidth, this only occurs if playing other media at the same time and can be solved by the following registry changes which set the system responsiveness to 100 and disables the network throttling.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile]
"NetworkThrottlingIndex"=dword:ffffffff
"SystemResponsiveness"=dword:00000064
The Windows Audio and Windows Audio Endpoint services can be set to manual and stopped. Thanks Soundcheck.
If not using the MediaPlayer classification then the MMCSS and Windows Audio and Windows Audio Endpoint services can be set to manual and stopped.
The web is full of optimisations for audio playback, this is a consolidated list of mods that I have found that work, I am getting significant improvement in resolution with these.
Win 7 Multi Core Optimisation for LMS
________________________________________
Windows 7 is great O/S for running LMS on and there are a number of enhancements/configurations that can be made to improve performance and hence the sound.
I have spent some time trawling the web and trialling various set ups and this thread documents what I have found to work in my system. Hopefully it may be useful to others too.
requirements - Win 7 SP1, I have Home Premium, a laptop/computer with more than 2 logical cores, I have an i3 (4 core), check via task manager performance tab, if in doubt. May work on 2 core, have not tested it for obvious reasons - the Game Booster 3 would be worth trying if nothing else.
Will this make a difference to my system ? Download Fidelizer and try it on Audiophile setting, make sure you untick the set Windows X's Live as Home Page. If you can hear a difference playing music and prefer the sound then you will probably benefit from the steps below.
Note - I am using a Touch modified to Fidelity Audio Level 1 and I run it with Soundcheck's TT3.0 with all the options enabled, but with Squeezebox Touch default priority and buffer settings. The mods below should benefit anyone running LMS.
The basic theory behind these mods is to take load off the computer and also to optimise the way processes are executed.
Basically this is one long advert for Fidelizer and how good it is, but for me it is a pain in the rear to use and I don't like the developer's philosophy where he makes it a pain to start rather than working out a way to charge for it. So, even if you stick with Fidelizer I would still recommend the use of Process Lasso to get Squeezeserver on it's own cores, disabling core parking and the use of Game Booster 3, you can even leave out Process Lasso and just have disabling core parking and the use of Game Booster 3. Or just run with Fidelizer, but at least you now know there are other options.
There are a number of guides to how to reduce the impact the Win 7 visual experience has on the system and also how to switch off services that are not neccessary to Squeezeserver operation. The links are below, I have optimised the visual side and switched off some non essential services, but it is hard to tell if these have made any difference to sound quality.
right, now the steps that make a difference
update - now using a mixture of JPlay and fidelizer settings
Squeezeserver on core 1,2,3 priority real time, i/o high and same with svchost.exe (netsvcs) and lsass.exe which is the MMCSS process
everything else on core 0, priority idle, i/o very low apart from
these windows processes which are all priority normal and i/o normal on core 0
svchost.exe (dcomlaunch),svchost.exe (localservicenetworkrestricted),svchost.exe (networkservice)
the reasoning was that fidelizer gives more priority to processes used by MMCSS, am running with svchost.exe (netsvcs) at realtime priority and i/o high as have MMCSS audio profile priority settings at 26. Sounds very good an extra bit of detail.
gives a more presence and atmosphere than the fidelizer method below.
both Fidelizer and JPlay adjust the windows timer resolution to .5 ms, so here is a $10 aus app that allows you to do that
The aim here is to mimic Fidelizer to an extent so that processes which are not required have a priority of idle and also that all processes except for Squeezeserver are assigned to core 0.
To do this I use Process Lasso, it is free and allows process priorities and core affinities to be set for each time the process is run, so next time you reboot the settings wil be retained.
when setting up there is a scope of each instance of Process Lasso panel, select manage the processes of all users (including SYSTEM processes) and also select run with elevated rights and manage processes of elevated rights
Warning - if your system is unstable with Fidelizer then it will probably be unstable with Process Lasso as well
get familiar with the Process Lasso gui, hide the graph. If you haven't already started Fidelizer then start it with Audiophile setting.
Go to the Process Lasso gui and click on the priority class column title so that the highest priority processes are at the top. Highlight all the idle processes click and then shift - click, right mouse click and set default priority to idle, also set the default core affinity to core 0. Now do the same for the non idle priority processes except don't set a default priority, just set the core affinity to 0.
Start up Squeezeserver, go to Process Lasso, set Squeezetray.exe to default priority idle and default core affinity to 0.
Set SQUEEZ~3.EXE to default priority Normal and core affinity to 1,2,3 for a 4 core system.
Reboot to clear Fidelizer. You should now have the process priorities and core affinities set by Process Lasso.
Now, surely Windows does all this task management adequately and why is this neccessary. Well, yes, Win 7 has very good task and resource management and it does sound good, but I think it sounds better with the Squeezeserver running on it's own cores, it is easy with Process Lasso to revert back to the default processes and core affinities to test the sound. To me the sound with Squeezeserver assigned to 1 core is better than the default, sounds more ordered, not so messy as the default and the sound when assigned to 3 cores is better than just being assigned to 1 core. The sound with 3 core assignment has more going on and it is still an ordered sound.
ok, but it still not as good as Fidelizer
copied from this link http://forum.cakewalk.com/tm.aspx?m=1861804, make the changes below, this produces quite a nice effect, the sound is smoother and more relaxing, take a copy of the registry before the changes.
Here is where some registry setting changes come in
- Go to Regedit
- Find this key:- " 0cc5b647-c1df-4637-891a-dec35c318583 "
- Within this key, there is a value called: " ValueMax "
- This value represents the % number of cores the system will park - the default 100% ie: all Cores are potentially park-able
- Change the value from 64 to 0 so the " ValueMin " and " ValueMax " are both zero
- You will have to find the key a few times and repeat the process for each time it is found - the number of instances will depend on the number of power profiles in your system [ in my DAW it was only found twice ]
- Do a full shutdown and power-off and cold-re-start
these registry entries alter the priority of the real time clock and numerical processor yo highest and graphics media accelerator to lowest. check your own irqs with msinfo32 from dos prompt then select hardware then select irqs. these entries need to be added in as dword.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\PriorityControl]
"IRQ4294967294Priority"=dword:00000020
"IRQ8Priority"=dword:00000001
"IRQ13Priority"=dword:00000001
copied from this site http://www.sensomusic.com/forums/viewtopic.php?id=2463
Process Lasso has the option to classify a process as a Multimedia Player, this allows MMCSS to alter the priorities further to ensure the audio process gets the optimum resources. click on SQUEEZ~3.EXE and right mouse click, the classify option is just over half way down the list of options.
The Multimedia classification gives a slightly more detailed and richer tone than the default ie without the Multimedia classification and you would probably need a high resolving system to get any benefit.
There is a further tweak to the MMCSS audio profile, where the priorities are set to the same as Pro Audio, Background is set to True, the priorities are set to 26 and the clock to 1. 26 is chosen because the MMCSS task runs at priority 27. clock rate of 1 = 100 nS and is the highest rate available, the default is 10000.
the registry settings are below, this includes affinity for cores 1,2,3 the default is "Affinity"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\A udio]
"Scheduling Category"="High"
"SFIO Priority"="High"
"Background Only"="True"
"Priority"=dword:0000001a
"Clock Rate"=dword:00000001
"GPU Priority"=dword:00000001
"Affinity"=dword:00000000
"BackgroundPriority"=dword:0000001a
MMCSS has been implicated in reducing network bandwidth, this only occurs if playing other media at the same time and can be solved by the following registry changes which set the system responsiveness to 100 and disables the network throttling.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile]
"NetworkThrottlingIndex"=dword:ffffffff
"SystemResponsiveness"=dword:00000064
The Windows Audio and Windows Audio Endpoint services can be set to manual and stopped. Thanks Soundcheck.
If not using the MediaPlayer classification then the MMCSS and Windows Audio and Windows Audio Endpoint services can be set to manual and stopped.
Comment