Nick White over at the Windows Vista Blog just posted an article written by Steve Ball, the PM in charge of the sounds team.
It does a pretty good job of covering why my $2000 PCs sometimes glitches like crazy, while my $20 CD player works perfectly every single time.
It's worth a read.
"It's worth a read."
I agree. It made me chuckle. I do appreciate its honesty.[*] Here's the good news:
'There is some good news in this story: Windows developers have made significant progress over the years in reducing glitching across key multimedia scenarios. For example, music playback on an otherwise "lightly loaded" system can be generally as smooth as that $20 CD player.'
So, simply by not using your computer for computing, you can get your $2000 computer to perform as well as that $20 CD player.
(Um, except if your $2000 devices were designed for XP's version of DRM but not Vista's, but that's another story.)
Anyway, I thank Microsoft for this honesty.
Now may I suggest that more priority be given to not losing keyboard input and not losing mouse input, even if that means the audio chain will glitch a bit when some silly user is trying to use their computer for computing.
If a user is really dissatisfied because of the glitches, give them a refund for the proportionate cost of Windows Media Player (and DRM chain) that was tied to their computer purchase, and let them buy a $20 CD player.
[* Yes I admit that Microsoft sometimes tells the truth; I wish it would happen more often.]
Actually the not losing input is as often as not due to external hardware (I have this PoS KVM that continually loses the "m" key, for example - drives me up the wall).
When the frequency of lost input is correlated with CPU load and not correlated with a loss of hardware, I think the OS is the reason.
s/loss of hardware/choice of hardware/,sorry
Norman, I've never seen lost input associated with CPU load.
I HAVE seen lost input corrolated with external hardware, and on certain crappy hardware, that can happen (we have a couple of network devices that freeze the CPU solid for 250 milliseconds every few minutes).
But those aren't OS issues, they're external to the OS.
Sorry for a third comment in a row, but I just remembered one more consideration. Although lost input is correlated with CPU load, it's even more strongly correlated with hard disk load. I still think OS is the reason.
"a couple of network devices that freeze the CPU solid for 250 milliseconds every few minutes"
If the network devices do DMA and lock the memory bus for 250 milliseconds then I agree that crappy hardware is the cause. I suppose the same could be possible with IDE controllers if they can queue enough commands that they'll occupy the bus for that length of time.
But if I were to make a bet, I'd still bet on it being drivers rather than devices. And at least in the case of IDE controllers, these are drivers where Microsoft has identified Microsoft as the provider.
It seems to happen much more frequently on Vista. I don't know if it's related to the new hardware or it's Vista's redesigned audio stack, but it does happen more often. I have logged a bug on connect that is still open (will probably get closed w/o fixing, as usual!)
What's interesting is that for a lot of people, audio on Vista glitches a lot more than it did on prior versions of Windows. While a lot of that was driver-related in the early days I still get occasional audio glitches under very heavy load (usually I/O load, not CPU load), something that just didn't happen on a far slower PC with XP.
I love Vista's new audio stack for its features, but it does seem to throw in the towel a bit quicker than XP. I would like the reasons for that explored, not audio glitches in general.
Maybe I'm just lucky, but I don't get *any* glitches on my $1500 HP laptop (dual core, 2GB ram, GForce7800.. nothing extreme) using Vista.
Even when I launch two compilations in two different VS2005, and in the same time print big documents, test web apps on my localhost and other things, I do not get any glitches. None..
I'm thinking now if I should get my ears checked?
Yeah yeah yeah, so it's hard.
Why then was XP able to do a less-glitchy job on the same hardware?
With the exception of changing resolution in (insert game name here), I can't say I remember XP glitching.
Under Vista, it's quite frequent (once or more per day). And yeah, it definitely tracks with CPu and/or disk activity.
I thought it was the dumbass-seeming decision to move audio into a process in user mode, competing with all the other user mode processes, but I've been told this "shouldn't be a problem".
Bottom line, I don't really care, I just want it to work well again, like it used to.
I'm also experiencing way more glitches on vista than on XP.
My home machine is dual core and is horrible for playing mp3 now. I upgraded the same machine from XP which played audio flawlesly. I never ever had heard a glitch on xp.
My work machine has 8 cores (2 processors) and it glitches as well.
Actually, our measurements show that XP was worse than Vista - you could turn XP into a slideshow without too much effort, it's much harder to do that for Vista.
At this point, there are only a couple of things that can cause Vista to glitch, most of which are associated with various drivers.
For whatever reason, NVidia display drivers seem to be particularly problematic; I know that NVidia's been working hard to fix that.
The thing that's surprised me about glitching in Vista is its inconsistency when I've encountered it.
Certain audio, e.g. the .mp3 podcasts from marketplace.org or from This American Life, consistently glitch once per second when I play it in WMP, but works in Winamp. More oddly, this started happening over a weekend when I wasn't using the computer (it being my work machine). I'd listened to a particular podcast last week Friday in WMP11 and it worked ok, came back on Monday and it didn't. And even more oddly, music MP3s that I've ripped from my CDs continue to work just fine in WMP w/o any glitching at all.
I suppose it might be related to some driver somewhere, but the behavior is really odd and I have no clue what might have changed over the weekend to result in the different behavior. I've pretty much just resigned myself to using winamp for podcasts for the foreseeable future. It's too bad, I like WMP's library management rather more.
Measurements don't mean a thing when compared to real world experience.
The fact is that Windows XP glitches a lot less often than Windows Vista on the same hardware.
The fact is that audio glitches on Vista happen when you least expect it to. Even under low CPU load.
Hardly the way to attract the crowd you were targeting with the revamped audio stack...