So far I have been pleasantly surprised with my Vista install, a few things needed upgrading but no show stoppers. At least not until I copied a file from the media center machine. I was getting only a few mb/s despite the fact that both machines are connected via gigabit ethernet and have striped raid arrays. It only seemed to occur when playing audio…any audio, regardless of source. This wasn’t good at all.
The culprit…I think A quick search turned up others who were having this problem and it appears that no one had a solution yet, as a matter of fact, the issue appears to have really gained widespread attention only last weekend. Further research turned up Mark Russinovich’s excellent 3 part series on Vista kernel architecture. Upon reading about the Multimedia Class Scheduler Service it seemed like that would be culprit. Indeed Mark wrote a blog post on it just today.
These are not the keys
you are looking for… After reading this msdn article, I and many others thought that the answer lay in the MMCSS keys in the registry. Suffice to say it doesn’t. Tweaking the values in the 7 multimedia classes doesnt appear to have any effect.
At this point you are thinking “Ok Courtney, just stop and disable the service”. Well, this is what happens when you try. Hrm, Windows Audio huh…might need that.
Dependency ListIt seems unlikely that Windows Audio Service has a legitimate dependency on MMCS, so I opted to manually modify the dependency list for the service in the registry.
Editing key Just double-click on “DependOnService” and delete the line that says MMCSS. Hit ok, return to the services, and set Multimedia Class Scheduler Service to disabled (but do not try to stop it), then reboot.
excellent Once Vista restarts, you should be able to check services and see that Multimedia Class Scheduler is disabled, and when you scroll down, Windows Audio is still running.
Success!To give it a test, play some audio while copying a large file. Your performance should increase dramatically.
38 mb/s, not great, but much much better.
Update: A lot of people have told me that this works for them, however I have had one or two reports of people having popping audio. Popping audio due to missed interrupts is exactly one of the things MMCSS is intended for. The beauty of the workaround is that you can still re-enable the MMCS service independently of Windows Audio, so all you would have to do is set it back to Manual or Automatic and hit start. Some people have indicated that they think this is some fundamental flaw of Windows, and I must disagree; having the ability to prioritize I/O, paging and memory blocks is an incredibly useful feature and a worthwhile addition to Vista. I just think Microsoft may have chosen some poor weighting parameters for it initially.
If disabling MMCSS doesnt solve the issue for you, you may want to try playing with the various parameters in the subkeys under HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Multimedia\SystemProfile\Tasks, though I had no luck with this method. You may also want to try using netsh to fiddle with Vista’s autotuning parameters too.
Update 2: The Vista team put up a whitepaper on Service Pack 1 over at their blog. I noticed these two points:
“Improves the speed of copying and extracting files.”
“Addresses an issue in the current version of Windows Vista that makes browsing network file shares consume significant bandwidth and not perform as fast as expected.”
Hopefully they will change the defaults, and provide a user mechanism to adjust the weighting of I/O priorites.
In SP1, PC administrators are able to modify the network throttling index value for the MMCSS (Multimedia Class Scheduling Service), allowing them to determine the appropriate balance between network performance and audio/video playback quality.
My network copy speed has risen dramatically to ~75mb/s on smb/cifs shares.