Follow-up - Playing music severely degrades network transfer performance in Vista

Follow-up - Playing music severely degrades network transfer performance in Vista

Summary: This post is a follow-up to "Playing music severely degrades network transfer performance in Vista" which I posted earlier.

SHARE:

This is a follow-up to "Playing music severely degrades network transfer performance in Vista" which I posted earlier.

I wan banking that this problem would come down to a single application such as Windows Media Player, but alas the problem seems a lot deeper than that.  Over at the PC Doc HQ we've been able to replicate a similar network performance drop when playing audio using Windows Media Player 11, iTunes and Real Player (these results are from a different machine to the one we tried earlier):

Network performance drop when playing audio on Vista

Video also has the same effect.  Here's the effect that playing random video files using Windows Media Center, Hauppauge Win TV and Nero ShowTime has on network performance:

Network performance drop when playing audio on Vista

Also, bad news for gamers.  This bug also seriously impacts network performance when gaming.  I'm seeing a 50% drop in network performance when games such as Oblivion are running.

Gaming also seriously caps network performance

I wish it ended there.   It's not just music that kills the network transfer speeds, any sound emitted by your system while transferring data seems to have this effect.  Every *ding*. every *donk*, every wok being hit by a spoon, every bit of discordant piano has the effect of flatlining network transfers briefly.  Here's what happened when I encourages my system to generate an Asterisk sound while transferring a file:

Every sound has an effect

Recording audio also seems to have a similar effect, even if there's no mic connected to the system: 

Recording audio (even where no mic is connected) also hits network transfer performance

And the same effect is present when playing a video file that doesn't contain an audio track (the ups and downs in transfer speed prior to the drop are caused by Adobe Premiere rendering the video):

A video with no audio track also has the same effect

Oh, and in case you're wondering, no, the problem doesn't seem to exist under XP:

No problem under XP

Until this bug is fixed I'm switching off sounds on Vista and keeping all other noise to a minimum.

Topics: Networking, Hardware, Microsoft, Windows

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

29 comments
Log in or register to join the discussion
  • SWAG

    Allow me to be the first to wildly speculate that Vista's network speed must slow to make sure that no restricted audio is being stealthily sent to the Internet. DRM is your friend. You'll love Big Brother.

    (Of course I could be terribly wrong, but for now, it's fun to throw it out and see what people think.)
    bmgoodman
    • I'll go out on a limb too.

      The artificiality of the transfer speed hard limit (flat) basically confirms that there is a hard software limit for some reason built into Vista. It appears to be activated during any sound playback (intentional or a bug), but I too suspect that this is DRM of some form in action.

      It makes you wonder if the transfer speed problem many had when not playing content (fixed in a patch already) was due to the process being accidentally activated through another means.

      In any case, if the absolute root cause of this is NOT a flaw in an actually useful feature whereby you tell the computer to limit IO over the lan, I suspect MS will be wearing a lot of egg on their face.

      TripleII
      TripleII-21189418044173169409978279405827
  • It sure looks like a bug, but something intentional is going on.

    If you look at the transfer speeds, there is an artificial hard limit (i.e. the limited transfer is flat) whereas whatever limiter, when turned off, you basically get what you would expect, varying speeds, nothing artificial about the transfer graphs.

    If I had to posit a guess, I wonder if this is limit built into Vista to prevent streaming or shoutcast's or something?

    Adrian, can you run a "top" equivalent on your PC both with and without the music running during the transfer. Since there is abviously a coded hard limit in action, a process should show up using CPU.

    TripleII
    TripleII-21189418044173169409978279405827
    • Twilight Zone

      Heh... woudn't it be funny if Gutmann was right?
      grail@...
  • WMPNetworkSvc

    I'd observed this problem when downloading from the internet and just put it down to the nature of the internet. I had noticed that it didn't seem to affect my tablet PC (which I don't use for playback). A little investigation with a download of an ubuntu iso (always a good long download) later - and I found that if the "Windows Media Player Network Sharing Service" is running and audio is being played (in my case through Media Player or Media Centre) then my download speed dropped to nearly dialup speeds. Stop the service and my download is back up to speed. This was only a quick investigation. any one else see similar ?
    getcloth
  • I wonder

    Does that mean that it will slow down network performance when lets say running a computer in Vista with media center and sharing stuff onto a media extender?
    neverXmiss
  • So what is the network traffic

    You can see it's happening unless that tool is wrong. So why not put a sniffer on the network and see what's coming out of that Vista box?
    voska
  • Time to try the packet sniffer

    I find it hard to believe that anything in the sound system would adversely affect network performance unless it's also increasing network traffic. I therefore strongly suspect that you have uncovered an undocumented "feature" of Windows Vista.
    John L. Ries
  • Re: Follow-up - Playing music severely degrades network transfer performanc

    The striking thing about those graphs is not only is the transfer rate lowered, it's clipped. Something is putting a hard quota on that transfer rate.


    :)
    none none
  • George, Ed, have you reproduced this yet?

    Adrian did it 2 for 2. Ed, I would have expected you to also be all over this digging into the lower levels to identify what is going on.

    It is so quiet here, for such a high profile problem.

    TripleII
    TripleII-21189418044173169409978279405827
    • ... Yes, the Silence is Deafening!

      This is a major issue... Vista is doing something *probably intentionally* that downgrades network performance when audio or video content is being displayed.

      This story was published yesterday... where is George Ou's and Ed Bott's take on the story? Only yesterday Ed was posting about how many complaining, less whining was needed.. and here we have something very real to complain about and he posts nothing.

      George posted a whole series of articles about Realtek firmware introducing errors into network file transfers. While that would affect a few people, this issue affects everyone... where is his comment, testing and analysis?

      ... the silence from ZDNet Vista shills is deafening!

      Timbo
      TheBoyBailey
  • Quality of Service preference to multimedia?

    Generally, I would prefer to have multimedia activity given priority over network transfers, if the alternative is to get stuttering audio, etc.

    It seems that there is some QoS limiting going on to prevent network activity stuffing up the audio/video that you may be focused upon (or at least would be severlely annoyed by if it breaks up in the background).

    In general it would be good if many of the processes could be user-prioritised for specific QoS profiles, such as by individual file (even to the point of larger than nn MB) or application. I wish I could limit the CPU bandwidth given to backup or AV software so that it is maximum say 10%, rather than using up all available resources and thereby preventing the computer from quickly responding to my interactions with the application I am currently using.

    Intel is developing hardware level channels that may make such QoS management independant of the CPU (so that the CPU doen't manage itself into hanging up if there are too many demands), and hence also more secure (as lower priority channels will not interfere with higher priority channels). It also holds the potential to run a different OS per channel. Real horses for courses then!! Protected virtualisation.

    In a multitasking computer, trying to balance the needs of constant-delivery multimedia streams with burst activity like network transfers (and HDD accesses) resulting from opening or saving files for other applications is crucial to having media working properly.


    Moral of the Story: Not every limitation is a problem.
    Patanjali
  • CPU Cycle Guzzling -

    The Vista O/S may use more of a PC's CPU resource because 'Vista's content protection requires that devices (hardware and software drivers) set so-called "tilt bits" if they detect anything unusual ... Vista polls video devices on each video frame displayed in order to check that all of the grenade pins (tilt bits) are still as they should be.'

    Also 'In order to prevent tampering with in-system communications, all communication flows have to be encrypted and/or authenticated. For example content sent to video devices has to be encrypted with AES-128.' Encryption/decryption is known to be CPU-intensive

    Device drivers in Vista are required to poll their underlying hardware every 30ms - thirty times a second - to ensure that everything appears correct.
    cnfrisch
  • QoS the culprit?

    I'd be interested if disabling the QoS network service cured the problem.
    wolf_z
    • Doesn't

      Ruled out QoS.
      Adrian Kingsley-Hughes
  • DRM?

    Could this be some evil little DRM or copy protection routine built into Vista that is 'phoning home'?
    DOSlover
  • Playback in WMC no Effect

    Playing back a previously recorded TV program in Media Center on Vista did not have any effect on a 3GB download that I started before starting Media Center. It was averaging 1 MB/sec.

    Can send a screen shot if you would be interested
    General Chat
    • Another Note

      I do have Media Sharing disabled.
      General Chat
  • I haven't had any problems!

    I tried playing a FLAC file in foobar while downloading a large file and it didn't have this problem. I tried again using WMP playing a mp3 and I still couldn't get this problem. My network was constantly above 30%. Using Windows Vista 64. Not sure why you're having this problem?
    drjt87
  • Mark Russinovich tells all in Technet article

    I develop device drivers for a living and naturally this "quirk" in the Vista audio stack needs some analysis to see what might be behind it (non-conspiratorially, that is).

    Mark, who until recently ran the SysInternals website, now works at Microsoft and has written some great articles, probably because he seems to know the guts of Windows as well or better than the guys who developed it. His 3-part series "inside the Windows Vista Kernel" has lots of internal, perhaps even gory details. Part 1 talks about Threads, Processes, MultiMedia Scheduling, and I think it has the answer to why audio/video slows down other processes. (See http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/)

    I'll try to paraphrase what he says so well, starting with the Vista design criteria to improve multimedia playback. Vista now has a service called MMCSS that takes control of thread priority scheduling whenever audio/video content is active. (An app must register with MMCSS to indicate it will be playing multimedia.)

    Threads have a priority between 0 and 31, with the top 16 being what is called "real time", and threads running at such priorities are not interrupted by "soft" timing requirements (which includes the feeding of network stacks). MMCSS doesn't want your machine to stop all other tasks, so it lets these multi-media threads run only for 80% of the time, giving the soft threads 20% of the CPU cycles.

    There is a registry key which holds the default percentage allowed soft threads (currently 20%). I would speculate that changing this value (and then rebooting or restarting MMCSS) would alter the "cap" on network transfers seen during audio play. (The reg entry is HKLM\Software\Microsoft\Windows NT\Currentversion\Multimedia\SystemProfile\SystemResponsiveness).

    There is a link http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/default.aspx?pf=true&side=true#2 that should illustrate the thread priority boosting for those who are not kernel grovelers;-}.

    I don't have time to test this out, but hopefully it will explain what you are seeing. I would suspect that other CPU-intensive tasks would be throttled similarly when audio is playing. Also, audio players that don't register with MMCSS may not trigger this priority boost when playing music; OTOH, the audio driver stack may invoke the boost whenever a stream is opened, no matter which player. YMMV.
    zdnet@...