Playing Music Slows Vista Network Performance?
An anonymous reader writes "Over the months since Vista's release, there has been no doubt about the reduced level of network performance experienced compared to Windows XP. However, some users over at the 2CPU forums have discovered an unexplained connection with audio playback resulting in a cap at approximately 5%-10% of total network throughput. Whenever any audio is being sent to a sound card (even, several users report, while paused), network performance is instantly reduced. As soon as the audio is stopped, the throughput begins to climb to its expected speed. It's a tough one for users — what do you pick, sound or speed? So much for multi-tasking."
Interesting... I thought I was going nuts the other day... I was Transcoding Video from my (powerfull) Vista PC to my XBox360. I noticed that if I was using Media Player to do anything on the PC, that it was slowed my network performance down quite a bit. I thought at first it was because of the transcoder working hard to buffer the other video, but realized the two cores weren't even being used that much, and memory was fine.
I have been a long time Microsoft user (notice I didn't say supporter, simply user) I've given OSX and various flavours of Linux a shot, but for whatever reason I decide to stay with Windows every time...no particular reason, I just like the interface the best...maybe it's cause I was raised on it, I dunno. Been using windows regularly since Windows 3.1.
Now. That being said. Ever since I saw screens of "longhorn" and the list of proposed features, I was excited. I knew a lot of it wouldn't be in the retail release, but still...Microsoft had me more excited about an operating system than I had been since the first press releases of Windows 95. It wasn't just Aero (which frankly doesn't really sway me one way or the other), it was primarily the little tweaks and things that they were talking about. Vista looked like it was going to be mind blowing.
And then it was released. Every week, some new story surfaces about something not working right, or something being broken, or some kind of fucked compatability...as it stands, I don't think Vista will ever be on my computer. XP works fantastic for me (although I do have an Ubuntu box hooked up to my computer for movie and TV show playback), and Vista seems to case more problems than it solves.
Grats, MS. Unless you pull something out of your asses soon, you are going to lose more and more users such as myself. And we are important insofar as your desktop buisness goes, because we KNOW you are full of shit and we still don't care.
We are starting to care, though.
Living With a Nerd
The forum goers seem to think the problem lays with something called MMCSS that boosts audio priority when files are being played back. This looks to be a buggy scheduler rather than nefarious DRM checks mucking up performance. The problem hasn't been pinned down by a long shot, but the scheduler makes the most sense.
My guess would be that it's a bug in the PCI code. You interact with network and sound hardware in roughly the same way; write a memory address to a control register and the device DMAs it across. If there's a race condition or stale lock in the code that deals with the PCI bus then data being sent from the network or sound card drivers down through the PCI abstraction layer could be delayed. My guess would be that someone decided to optimise things for media playback, and so put the sound drivers at a higher priority than the network drivers (since most of the time you are more likely to notice audio skipping than slight drops in network performance), and the sound card driver is not releasing a lock in a timely fashion.
This, of course, comes with a huge disclaimer to the effect that I have no inside information as to the structure of the Vista kernel, and might be completely making all of this up.
I am TheRaven on Soylent News
Well we do know that there are new API's in Vista that allow reservations of bandwidth for devices (like disk drives) and that media player does indeed make use of them (this has been demonstrated at events like Tech-Ed and Mark Russinovich's talks have contained demonstrations of this as well). I can't imagine that they purposefully tried to reserve network bandwidth though when the files are local on your hard drive. You can see why they would reserve some hard drive bandwidth though; as the GP said it is to provide skip-free audio and is indeed a new Vista feature. Sounds like they either have a bug with it where it reserves network bandwidth when it doesn't need to, or it is something to do with it having to reserve a certain percentage of the total number of interrupts regardless of which device is being triggered?
Has anyone checked to see if the CPU usage display is really correct?
Maybe Redmond in their infinite wisdom are hiding all the DRM processing in a way that doesn't show up on the CPU use graphs - but impacts the system performance because in reality the CPUs are all pegged doing DRM compares to see if heuristic signatures match copyright violations.
Been there, done that, paid for the T-shirt
and didn't get it
Back in 2003, my ethernet card (under debian) would *only* work if I was also playing music. Granted, that was because my ethernet card was broken and didn't properly send interrupts (so the sound card was sending them, and the ethernet driver was being activated when it noticed that it had an interrupt too), but it was still pretty awesome. Perhaps Vista has a similar problem... =)
Vista does put in place measures to ensure that multimedia applications have a higher I/O priority than other operations.
Whoever did these tests should try again with the Multimedia Class Scheduler service disabled to see if it makes a difference. Also they need to try multiple multimedia applications (WMP would benefit from MCS, but other multimedia apps may not yet).
Wine have just moved the direct 3d layer from glx over to wgl, this should mean that it will compile on windows any time soon.
And as soon as it gets directX 10 support you should be able to run the DX10 only games on XP.
thank God the internet isn't a human right.
The thing is, you can't buy a new computer anymore that has XP installed. It's all Vista these days and you don't even get a choice. That's why it is inevitable that people will switch to Vista, they'll buy a new computer for whatever reason and not have the choice to stick with XP no matter how much they might want to.
I read the internet for the articles.
Except that the Windows Audio service depends on MMCSS, so if you try to disable the Multimedia Class Scheduler, you can't listen to any music at all.
For the record, I just tested this bug on Vista Small Business and found the same result. If I load WMP, I can still utilize ~35% of the network, but as soon as I start a song, or have a song paused (or even stopped but still loaded) it drops down to 8-10% every time.
Actually, I think it means a boost for Apple (so kind of Linux :) rather than Linux directly. Apple is intended to be a consumer desktop system and it does this very well. Linux variants are undoubtedly improving, but (in my experience) unlike Apple, the Linux systems are simply not designed to be consumer desktop system. If somebody actually did this, then you'd have an Apple competitor.
But Linux development seems more focused on generating dozens of distros and taking all of the forks in the road instead of picking something and sticking with it. For the simple example look at KDE vs GNOME. You can argue back and forth about the merits of both, but as a person building software I don't want to have to make screenshots for both and test under both, this is just needless doubling of my work.
Linux does not encourage the development of shrink-wrapped, quick-to-develop software. Part of making a consumer (non-business) OS is making decisions for the consumer (b/c they don't know how) and then to sticking with those. We can yell about the Windows Registry, but Linux has how many "replacements" (all of them better)? How does this help consumers? All it does is make things more complicated for developers rather than simpler.
Linux is like the giant sandbox of great ideas, it constantly gets better, but it's goals is not be a consumer desktop OS. Until somebody stands up and says: "This is THE linux consumer OS and EVERYTHING done for consumer (not business) needs will work here", until that day, disgruntled MS users will simply shift to MAC.