[Edited 2007.05.04: While I still recommend updating Windows/drivers/codecs anyway, it turns out that this didn't completely resolve my problem. Read my followup post for another codec option that performs much better and seems to have really resolved this issue.]
I was talking to James earlier this week about HD video in Media Center, and he warned me that 720p video performance is not that great (video is choppy and audio is out of sync) on his machine. He was giving me the heads-up because we have very similar HTPCs: I'm running Vista Ultimate on an Athlon XP 3200+; he's running XP MCE 2005 on an Athlon XP 2800+. Both have 1GB of dual-channel memory and similar (and quite modest) video cards.
I tried playing a 720p HD video on my machine tonight and saw exactly what he described, despite my slightly faster processor. My HTPC is a couple of years old, but it still runs great otherwise, so I'm not crazy about the idea of upgrading the hardware right now.
I was determined to squeeze acceptable performance out of my current hardware, so I started tweaking. I've now got the video running MUCH better, without any overclocking or outrageous settings (I even have Aero enabled). The video is smooth, and the audio and video are in sync, at least until I skip forward/back during playback -- and I suspect that a little bit more tweaking will fix that.
I took sort of a shotgun approach and changed quite a few things the first time around. All of these are changes that I wanted to make anyway, so I wasn't concerned with pinpointing which ONE change was the silver bullet.
- Added a 2GB USB flash drive and enabled ReadyBoost: Very noticeable improvement in the OS and Media Center interface, but no apparent changes to HD video playback.
- Ran Windows Update: There were no significant driver or Media Center-related updates available, but I needed to get the last batch of critical updates anyway. I don't think this had any effect on HD video playback.
- Updated my power settings from Power Saver (this must be the default, because I never would have chosen this option for an HTPC) to High Performance. In some configurations, the power settings throttle the CPU to conserve power, but since I don't have the AMD Cool 'n Quiet driver installed, I think it defaulted to maximum CPU power anyway.
- Verified that my memory was running in Dual Channel mode (it already was; no change here).
- Verified that I had the latest BIOS version installed (I already did; no change here).
- Updated CCCP (a pack of the most common audio/video codecs like DivX and Xvid) to the latest version.
- Stopped/disabled unused services like Indexing and Windows Firewall (the firewall was already "disabled," but the service was still running).
- Updated my video drivers to the latest version (Forceware 96.85, for my NVIDIA GeForce FX 5500).
I did a few quick tests along the way, and none of these changes noticeably improved playback until the last one: updating the video card drivers. The performance logs show that I still have very high CPU utilization during playback after these tweaks, but the audio/video is great now. I'd say perfect, but I need to do a little bit more tweaking so that I can fast-forward/rewind without getting the audio and video out of sync. Most of these changes should apply to both Vista and XP, and I'm curious to see if this fixes James' HD playback performance in XP MCE.
There are a couple more changes I can think of that might improve performance a bit more:
- Overclock the CPU/FSB/GPU in BIOS.
- Disable Windows themes (Aero/Luna): I'd expect a big improvement in most desktop applications, but I would hope that Windows isn't spending any CPU cycles rendering the theme while I have the Media Center application running full-screen anyway.
I've read some blog/forum posts that recommend setting the Enable Advanced Performance option in your disk write caching settings. This seems irrelevant (as far as video playback is concerned) because write caching shouldn't affect the disk read rate.* Disk access doesn't seem to be a factor in my case anyway, since I playback most of my TV shows from a mapped drive (a SATA disk in my server, mapped over my gigabit network). My tests tonight didn't show any difference between the network-mapped and local copies of the same video file.
A lot of this will depend on your hardware, but I read quite a few reports of people having this same problem with MUCH better hardware than what I'm running. Let me know if you have any other tips/recommendations to further improve HD video playback.
* At least not in my case, because this hard disk is dedicated to media, and no other processes are reading/writing to the disk while I'm playing video. If you have your media on disk shared with the OS or other applications, write caching might make a bit of difference for you.
2 comments:
ReadyBoost really does make a nice improvement.
Rememeber that Vista I/O changed for streaming applications like Media Player. It now gets a guarantee of I/O bandwidth from the OS. Vista should handle playing it better. But I am not the expert. :-)
These are some good hints. I've found that in addition to CPU hogging processes, disk r/w access is also a major culprit in live hd performance. If interested, I have a long diatribe/tale of woe here:
http://www.techanswerguy.com/2008/08/performance-problems-in-media-center.html
Post a Comment