Playing Music Slows Vista Network Performance? 748
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."
Not a hardware issue, and may not DRM, either (Score:5, Informative)
Could be DRM, maybe, but that's just speculation. One guy said he stripped the audio from a video and played just the video, so I'm not certain it's DRM, either.
Prioritizing multimedia? (Score:4, Informative)
Wasn't there a story on Slashdot a while back about how multimedia apps in Vista would take priority over others whether you wanted to or not? This summary [slashdot.org] (you'll actually have to RTFA since it's not in the summary, sorry ... or just look through some of the comments) might be the one I'm looking for...
Re:how on earth? (Score:5, Informative)
Re:Or more accurately (Score:2, Informative)
Re:how on earth? (Score:3, Informative)
Re:FUD of highest quality (Score:2, Informative)
I noticed a few blogs recently have posted the question "Given it's a flop, how would you change Vista?". I didn't respond there, but I will here:
If I had to change just *one* thing about Vista (and I've been running it on two machines since March), I would change the fact that people make up so much random shit. Seriously. These articles are almost entirely FUD. Anyone bitching about "invasive" DRM or "needing" 2GB of RAM has never used it.
For anyone who hasn't used it, think of it like this: It's the same as XP, but has admin/user privileges straightened out by default, a sandboxed browser, and a beefed up firewall. Do absolutely all drivers/applications work yet? Nope. Do all of mine? Yep.
Re:FUD of highest quality (Score:4, Informative)
Re:FUD of highest quality (Score:2, Informative)
Re:Audio drivers in userspace ? (Score:3, Informative)
"I can see it's not cpu usage, as it happens even while the video/audio is paused"
Possibly Performance Timers? (Score:4, Informative)
Another possibility is the media timers in the microsoft API. I don't know about Vista, but under XP, the system timers by default are not very accurate, because higher accuracy timers taking more processing time to update. However, this isn't really acceptable for audio/video and gaming, so they have a special Multimedia mode you can set that will make them update at a higher frequency.
Unfortunately... this is a system wide setting. Which means if their network application is doing a lot of system time lookups for timestamps or something, it is incurring the extra penalty as well.
We noticed this at some point when a particular simulation application ran correctly - only when windows media player was also running. WMP enables this multimedia mode, affecting every other application using timers on the system.
Re:DRM strikes again? (Score:5, Informative)
See http://blogs.msdn.com/larryosterman/archive/2007/
Call me old-skool, but... (Score:5, Informative)
Hand me down my silly-scope, Maw, the danged computer's a-runnin' slow agin...
Re:how on earth? (Score:3, Informative)
The iPod certainly does have a general purpose CPU in it. ARM of varying flavor, in fact. However, that doesn't make it impossible for it to also have a hardware MP3 decoder. I don't know for sure if the iPod actually uses an MP3 chip, though. I seem to recall that first gen. iPods did need a hardware MP3 decoded, but it became less important with more modern versions and faster CPU's.
The video playback, however, does currently rely on a dedicated chip to handle it on an iPod. the little ARM chips just don't have the muscle to handle H.264 and all the other new video buzz words, and putting in a general purpose CPU that could do it would require too much power for an iPod.
Re:DRM strikes again? (Score:5, Informative)
Unless your using a pci network card, or a fairly old/cheap motherboard, it should have nothing to do with the available bandwidth on the pci bus
Re:how on earth? (Score:4, Informative)
My 486DX2-66 could not play MP3s; the CPU was pegged solid at 100% usage, and at best they still skipped and stalled.
My P90 could play MP3s, but it took 80%-100% of the CPU cycles, so would sometimes skip.
On my P233, it took about 30%-40% of CPU cycles.
On my P3-550 (Win98), it takes about 3%, for either the old DOS player or for WinAmp. Its twin brother (WinXPPro) also uses about 3% in WinAmp. These systems are 8 years old.
On a modern P4, I'd expect playing MP3s would need only a fraction of a percent of CPU cycles. So even if very poorly scheduled, how could the sound subsystem use them all up??
I'm wondering if a crappy network driver might be the actual culprit. I've seen a shit driver bring a P2 to a near-halt, when the only app in use was DOOM (which will run on a 386, so you know it doesn't eat much by current standards).
Re:you're being passive aggressive (Score:4, Informative)
My point was that OS X does NOT have an "utterly foreign" interface as the GGP stated. My examples were obviously bogus; you don't really have to do these things...Unless you really HAVE punched a dog in the face in order to launch a new application in OS X - in which case I wonder if you should be allowed near technology at all.
Re:how on earth? (Score:3, Informative)
Oh? [dell.com]
That was the first computer listed in Dell's small business section, but all the other choices there also have XP as an option. Maybe XP isn't as common on new machines as Vista, but when Dell offers to sell it as one of their customization options, it's not exactly hard to get.
Re:DRM strikes again? (Score:3, Informative)
What? Your typical modern nic might do TCP checksums but that's about it. They are not esoteric, specialty devices running your tcp/ip stack. The only way anything gets to the card is via the pci bus. Whether the card does the checksum or not the amount of data is the same. Even for cards that do have their own IP stacks, you will still be running over 95% of the data over the PCI bus. The only case where that'll not happen is if you are exclusively using terminal interactive TCP sessions (think telnet or ssh). If you browse the web at all, the payload swamps the overhead.
The issue here is that Vista's sound subsystem does a lot more audio processing that previous generations do. For example it will delay the streams to your multichannel system so that the sound from each speaker reaches your head at exactly the same time.
Re:how on earth? (Score:4, Informative)
Playing Music Slows Vista Network Performance? (Score:2, Informative)
Re:how on earth? (Score:3, Informative)
Re:how on earth? (Score:3, Informative)
Re:DRM strikes again? (Score:5, Informative)
Explain to me the difference between speakers and sonar tranceivers? I mean, I was a Sonar Tech in the Navy for only 4 years, so maybe I missed something, but a sonar array is basically a bunch of high-quality underwater microphones and a shitload of audio processing. Essentially doing the reverse of what the poster above claimed Vista does (never mind that that kind of processing ability is what sound cards are *for*). IOW: you're wrong.
As long as you have more than one channel, audio processing can do exactly that sort of thing; the only problem is, that it would ruin the whole point of multiple channels. You want the audio processing to cause the sounds to reach your ears at different times because than it simulates what happens when something is not directly in front of you. The initial implentation of this technology for consumer purposes has a very familiar name: stereo.
Re:Not a hardware issue, and may not DRM, either (Score:2, Informative)
TFA is a support forum. These are real people with real issues, not at all like the petty, crazed, bitter peanut gallery that exists here on Slashdot.
It is possible that this is related to some sort of improperly-supported motherboard features or something like that, but I couldn't find anything these people had in common, hardware-wise other than that they all had hardware supported by Windows Vista.
Re:how on earth? (Score:2, Informative)
The Multimedia Class Scheduler Service: basically a service that juggles thread priorities keeping "important" ones (read: audio playback) near the top:
http://msdn2.microsoft.com/en-us/library/ms684247
The I/O system in Vista also has an idea of different priority packets. Therefore the disk read for the next MP3 frame is probably a higher priority than
the read for the next network packet.
http://www.microsoft.com/whdc/driver/priorityio.m
This is complete speculation on my part but I could see how these thing might affect machine performance during audio playback.
Re:Audio drivers in userspace ? (Score:3, Informative)
No buffer size tweaking of any sort can improve the situation. This is just fundamental math: if you receive 1500-byte packets at a throughput of 800 Mbps, your NIC needs to process 67000 packets/sec. If you tweak the NIC settings to generate no more than 5000 interrupts, then each interrupt will deliver on average 13 packets. Which means that before executing the NIC driver IRQ handler, up to 13 packets will have accumulated in the NIC hardware buffers. So the oldest packet in the hw buffer will have spent 1/5000 = 0.2 ms there before the kernel will even receive it. (The latest receive packet will have spent a negligible amount of time in this buffer, because the IRQ is generated right after receiving it). So on average a packet will stay 0.1 ms in this hardware buffer before being processed by the kernel.
How can changing a buffer size somewhere improve the situation ? It cannot. The only way to reduce latency caused by an interrupt rate moderation mechanism is to tweak it to generate interrupts slightly more frequently. Which is why, for example, the e1000 Linux driver chooses a good compromise of 9000 int/sec by default.
Re:DRM strikes again? (Score:2, Informative)
Re:Microsoft user here. (Score:3, Informative)
You're kidding right?
win 3.0, win 3.1 offered optional 32bit modes (which on a 286 and later with separate libraries 386 ran MUCH slower - so people didn't use it except for niche applications).
win NT --> 3.51 was a full 32bit OS (a la VMS/ Unix). NT 4.0 compromised stability for video performance (they had to do something, so I give them credit there).
win 3.1.1 was the client-side interpolibility with win NT in a high tech work environment.
win 95 was the incorporation of the basic win32 libraries of win NT, such that win16 could still co-exist. You had the ultimate compromise.. A full 16 bit DOS stack with a 32bit NT-esk overlay. You had lots of performance, lots of capabilities (all 16 and 32bit code) but zero reliability (as win16 circumvented ALL security in NT).
I would argue that win95 was the most versatile OS MS has created.. It copied the relevent UI advances of the Macs and copied many of the elegant advances in NT (which copied somewhat best-of-breed from VMS/Unix). You could create a rock-solid win95 box - if your drivers were pristine and you NEVER installed 3'rd party widgets. The only thing lacking was a decent scheduler... There were tons of demos which showed an MT app in both NT and win95 and NT always had smoother MT code (more evenly distributed scheduling of threads).
win98 through winMe were incremental add ons.. Architecturally identical.
XP was the NT-ification of windows - dropping DOS from the boot-loader process, along with refactoring how 16bit code was enabled.
Coming from a background where I highly respected NT (except for it's multi-media capabilities) I was finally at peace with winXP. Ironically it took MS so long to bring NT into the multi-media main-stream that Linux became the superior desktop for my needs. flash became the de-facto multi-media experience that I needed, and Linux supported it (except for x86-64 - FUCKERS). That being said, XP still is pretty good for games - though consoles have finally caught up with PCs in terms of performance and playability for many types of games. (I still can't do anything like AOE or star-craft with any satisfaction with a console).
Still, I can't fault XP for anything. I can VM-ware it, run office sufficiently (when open-office simply can't suffice), I can play virtually any game (though most older Direct-X games no longer work). I can get REALLY cheap hardware that runs lightning fast compared to a console ($500 for a really high end machine). So on and so forth.
Then comes Vista... No VM-Ware.. No "extra 32-bitedness".. No decent 64-bitness. A day late and a dollar short on DRM (it seems DRM is inevitably going to die a quiet death and be replaced by judicially enforced water-marks, which is how it should have been in the first place - the RIAA really need to fire their older lawyers). If the current instability / slow-downs are eventually trace to DRM management I think MS is going to have an expensive lesson to learn.
I can't fault Vista for is slow performance (other than the apparent bug in this slash-article). Vista is like the next version of Quake / Doom.. The designers lusted for the ability to do amazing things with plausible current-day hardware.. So long as the next-gen game can 'dumb-down' for lesser hardware then no-foul. Intel and MS have always had the tit-for-tat faster hardware followed by more demanding (yet more capable) software.
As an example, I do java development.. And as a result, I use a java-based editor.. BLOATED AS HELL.. 1 Gig of memory is what I allocate to the editor.. But with that 1 Gig of mem plus LOTS of CPU horse-power I get real-time analytics of 10s of thousands of lines of code. Every key-stroke adjusts the memory representation of the code-base. And the possibilities here are not even fully tapped. Lesser performance with the
Re:how on earth? (Score:2, Informative)
Thinking on normal PCI, a sound stream is, what, somewhere between 1 mb/sec and 10mb/sec depending on channels and quality, whereas even a mindless raid card can send data at 100mb/sec (4-channel 4-disk ide raid, 60mb/sec per disk, theoretically 180mb/sec from raid in raid-5... software raid doing the parity would be 240mb/sec... pci limited to 133mb/sec so RAID always maxes it when loading a large file such as a iso or movie)
Roll on PCI-Express soundcards with lots of bandwidth rather than one weeny channel shared between everything...
Now, why is there no PCI-Express soundcards? I've heard there's a packet size issue (in that large packet sizes would make the soundcard somewhat unresponsive) but it might just be lack of demand... I mean, who replaces their onboard sound nowadays?
Re:Or more accurately (Score:3, Informative)
1: I was using cedega, some of the games I wanted to play had bugs in them but cedega isn't open source so I couldn't fix the bugs myself.
2: (and probably the main reason for my decision) Everyone used to complain that the reason no one used Linux on the desktop was because it didn't have games support so I decided to attempt to give Linux uses support for some games out of the box.
Also, crossover has done a lot of work on office and I use openoffice so there was no real incentive there for me to do any work.
If you would have rather that I didn't work on DirectX 9 instead of say improving KDE then you are probably on you own.