Tuesday, 21 December 2010

Media Player Big Delay loading tracks

There you are: Windows Media Player (WMP) running, all songs loaded in its library and you hit the 'play'-button. It picks the wrong song and you click the 'next'-button. Instead of starting the next song immediately, a pretty long pause follows the release of the button. As if there's some artificial intelligence pondering if it should play the file. Rest assured, the song will start eventually. You can live with that for a couple of songs and then the mind starts asking questions. I don't have to wait in Windows XP so why should I have to wait in its youngest sibling? And so the quest for a solution starts...

The pause is the most noticeable event, but it's the result of something else: one of the svchost.exe processes loves the CPU and starts eating cycles. So it's some Windows service causing all of this, but which one (for the unknowing: svchost.exe does a lot in Windows and there are multiple processes with that name)? Process Explorer to the rescue! And that nifty program told me the spike in CPU usage was caused by "svchost.exe -DcomLaunch".

The fun isn't over yet. That process is associated with two services: DCOM Server Process Launcher and Plug and Play. For the Vulcans among us, all logic stops there for a second. What do those two services have to do with WMP? The answer is provided by Vista's new audio engine. The new engine supports several audio "enhancements". But for the enhancements to work, the engine needs to determine if your hardware is up to the task. And when does it check that? Each time a sound output device is accessed. That's pretty nice if you can do a hot swap of sound hardware, but I don't see me doing that anytime soon. Anyways, it does provide us with the link to the correct service because checking hardware is done by the "Plug and Play" service.

One might think that deactivating each enhancement would solve the problem, but that's wishful thinking. The configuration of the enhancements is located in the properties of the sound hardware. When opening the tab, I found out that no enhancements were active. Hmmm... so why does it check the hardware? Well, it does that in case you actually enable an enhancement. To completely stop the hardware checking, you have to tick the box labelled Disable all enhancements. As soon as you do that, Vista finally understands you don't want to use them

It took me quite some time to figure this out. I hope this post can save some time for those who experience the same problem.

No comments:

Post a Comment