Home | Get FREE Tools | Forums Login

Tools

The Code Tamers




In Intel® DHCAT (IDHCAT), we strive to make the application/tools used very closely represent the real world apps. Today, I’ll take you through the media player used in IDHCAT to measure playback experience.

For IDHCAT, we needed a media player similar to popular media players such as Windows Media Player 10 (WMP) and other players that can play MPEG-2, WMV, DivX and H.264 videos. While playing video, the characteristics that includes CPU usage, memory usage, GPU usage and disk usage must be very similar to the above mentioned real world applications. We need to instrument the player for measuring the performance and make it automation-friendly.

Initially, we developed a media player based on DirectShow technology, and it satisfied all those requirements. It used the same underlying technologies such as DirectShow* and DirectX* Video/Audio (DXVA)*, the characteristics are very similar to the WMP and real player. It also took advantage of available hardware video acceleration, just like other players. We did exhaustive testing with various background loads to make sure that the experience with this player was very similar to the above mentioned players.

Then came Windows* Vista*.

With its arrival, we needed to revisit some of our tools including our media player. One of the features of Vista* that I like most is the glitch-free playback. To provide a better playback experience, Windows*Vista* introduced the Multimedia Class Scheduler Service (MMCSS) to manage the CPU priorities of multimedia threads. As a result, video playback is given priority over other tasks in flight, so even if the system gets busy doing other things, video playback remains smooth. On Windows XP, if a video is playing concurrently with other compute-intensive operations like encoding a video with Windows Movie Maker, video playback will often stutter and drop frames. This experiential difference is reflected in IDHCAT 2.0's score and Platform Capabilities Matrix. But we discovered this cool new feature in Vista* almost by accident.

As I was validating our media player’s characteristics to ensure they were very similar to WMP 11 on Vista*, I noticed some deviation from my previous observations on Windows* XP. No matter how much we stressed the system with various background loads, playback experience with WMP 11 on Vista seemed to be very good, noticeably better than our player. Then I tried various experiments by changing the video renders, how the DirectShow graph is built, etc… But, still it didn’t come close to matching WMP 11 on Vista*. After exploring lot of options, I arrived at a solution: we host WMP in our media player application. So, in IDHCAT 2.0, the media player used is actually hosting WMP. Now, both on XP and Vista, our player works and looks exactly like WMP, because it is WMP!

In the next topic, I will get into more technical details and share some IDHCAT data. Then, you will really appreciate the need for measuring experience and not limiting evaluation to just speed-based performance. IDHCAT is one of the only tools that measures the PC media experience and we continue to look for new ways to communicate the quality of that experience in easily understood terms. | Posted by Jagan.



* Other names and brands may be claimed as the property of others


Discuss this article!