Advanced HTPC users adopt specialized renderers such as madVR which provide better quality when rendering videos. Unlike the standard EVR-CP (Enhanced Video Renderer-Custom Presenter) which doesn't stress the GPU much, renderers like madVR are very GPU-intensive. This has often been the sole reason for many HTPC users to go in for NVIDIA or AMD cards for their HTPC. Traditionally, Intel GPUs have lacked the performance necessary for madVR to function properly (particularly with high definition streams). We did some experiments to check whether Ivy Bridge managed some improvements.

Using our testbed with the 4 GB of DRAM running at DDR3-1333 9-9-9-24, we took one clip each of 1080i60 H.264, 1080i60  VC-1, 1080i60 MPEG-2, 576i50 H.264, 480i60 MPEG-2 and 1080p60 H.264. We tabulated the CPU and GPU usage using various combinations of decoders and renderers. It is quite obvious that using madVR tends to drive up the CPU usage compared to pure DXVA mode (with EVR-CP renderer). This is because the CPU needs to copy back the data to the system memory for madVR to execute the GPU algorithms. A single star against the GPU usage indicates between 5 - 10 dropped frames in a 3 minute duration. Double stars indicate that the number of dropped frames was high and that the dropping of the frames was clearly visible to the naked eye.

  DDR3-1333 [ 9-9-9-24 ]
  madVR 0.82.5 EVR-CP 1.6.1.4235
  QuickSync
Decoder
DXVA2
Copy-Back
DXVA2
(SW Fallback)
DXVA2 QuickSync
Decoder
  CPU GPU CPU GPU CPU GPU CPU GPU CPU GPU
480i60
MPEG-2
3 74 3 74 4 74 5 28 5 28
576i50
H.264
3 59 3 58 4 58 5 25 5 27
1080i60
H.264
14 86** 11 86** 14 81* 6 42 8 48
1080i60
VC-1
13 84** 13 80* 13 80* 13 47 8 47
1080i60
MPEG-2
12 82** 12 80** 9 78** 5 44 9 48
1080p60
H.264
18 97* 20 97** 18 96** 5 44 12 50

With DDR3-1333, it is evident that 1080i60 streams just can't get processed through madVR without becoming unwatchable. Memory bandwidth constraints are quite problematic for madVR. So, we decided to overclock the memory a bit, and got the G.Skill ECO RAM running at DDR3-1600 without affecting the latency. Of course, we made sure that the system was stable running Prime95 for a couple of hours before proceeding with the testing. With the new memory configuration, we see that the GPU usage improved considerably, and we were able to get madVR to render even 1080p60 videos without dropping frames.

  DDR3-1600 [ 9-9-9-24 ]
  madVR 0.82.5 EVR-CP 1.6.1.4235
  QuickSync
Decoder
DXVA2
Copy-Back
DXVA2
(SW Fallback)
DXVA2 QuickSync
Decoder
  CPU GPU CPU GPU CPU GPU CPU GPU CPU GPU
480i60
MPEG-2
2 76 2 76 2 73 5 27 5 27
576i50
H.264
2 57 2 57 3 57 5 25 5 24
1080i60
H.264
7 77 11 74 12 74 6 40 9 40
1080i60
VC-1
7 76 11 75 12 79 12 40 8 40
1080i60
MPEG-2
6 74 6 74* 8 75* 5 39 9 40
1080p60
H.264
13 82 14 84 14 80 6 41 10 42

However, the 5 - 10 dropped frames in the 1080i60 MPEG-2 clip continued to bother me. I tried to overclock G.Skill's DDR3-1600 rated DRAM, but was unable to reach DDR3-1800 without sacrificing latency. With a working configuration of DDR3-1800 12-12-12-32, I repeated the tests, but found that the figures didn't improve.

  DDR3-1800 [ 12-12-12-32 ]
  madVR 0.82.5 EVR-CP 1.6.1.4235
  QuickSync
Decoder
DXVA2
Copy-Back
DXVA2
(SW Fallback)
DXVA2 QuickSync
Decoder
  CPU GPU CPU GPU CPU GPU CPU GPU CPU GPU
480i60
MPEG-2
2 75 2 75 2 72 5 27 5 27
576i50
H.264
2 57 2 57 3 57 5 25 5 24
1080i60
H.264
7 74 11 73 12 74 6 39 9 40
1080i60
VC-1
7 74 11 74 12 77 12 39 8 40
1080i60
MPEG-2
6 74 6 74* 8 74* 5 39 9 40
1080p60
H.264
12 84 14 84 14 80 6 41 10 42

My inference is that a low memory latency is as important as high bandwidth for madVR to function effectively. I am positive that with a judicious choice of DRAM, it is possible to get madVR functioning flawlessly with the Ivy Bridge platofrm. Of course, more testing needs to be done with other algorithms, but the outlook is quite positive.

In all this talk about madVR, let us not forget the efficient QuickSync / native DXVA2 decoders in combination with EVR-CP. With low CPU usage and moderate GPU usage, these combinations deliver satisfactory results for the general HTPC crowd.

Custom Refresh Rates Acceleration for Flash and Silverlight
Comments Locked

70 Comments

View All Comments

  • jwilliams4200 - Monday, April 23, 2012 - link

    Not really. I think HD4000 is just about right for an HTPC. Later, when the Ivy Bridge core-i3's come out, I think the i3-3225, with HD4000, will be the first choice for HTPCs.
  • shawkie - Monday, April 23, 2012 - link

    If the i7-3770T is actually ever available to buy then from a power consumption point of view it would also be a good choice (with plenty of CPU headroom for the times where GPU decoding doesn't work) . From a cost point of view it might be a bit on the high side I suppose.
  • flashbacck - Monday, April 23, 2012 - link

    As one of the few people still running a dedicated htpc, I appreciate the article.
  • anirudhs - Tuesday, April 24, 2012 - link

    You mean use your HTPC for all media, including HD-DVR and Blu-Ray? I am just getting into it now.
  • jwcalla - Monday, April 23, 2012 - link

    Getting an i7 for an HTPC is like getting a Mustang GT500 to drive Miss Daisy. Come on now, is AT a review site for Daddy Warbucks types?

    Ok serious question though. What's the Intel IVB driver / HW acceleration situation on Linux? I couldn't imagine dropping $100 on Windows 7 for something as simple as HTPC functionality. For nvidia we're talking $10 Geforce card + VDPAU + lowest end CPU + least amount of RAM possible + linux = HTPC solution. Or a Zotac box. Can Intel compete with that?
  • ExarKun333 - Monday, April 23, 2012 - link

    This review is really testing the HD4000 implementation. When the dual-cores are released with the HD4000, the GPU will be exactly the same, so almost everything will be directly applicable there too.
  • anirudhs - Tuesday, April 24, 2012 - link

    If you plan on getting cable onto your PC you have no choice but Windows due to DRM issues. Some channels will not be recorded by MythTV.
  • CoffeeGrinder - Monday, April 23, 2012 - link

    With that P8H77-M config, if you use a double slot GPU in one PCIex16 slot (and so lose one PCIex1 slot) and use TV tuners in both on the remaining slots PCIex1 and PCIex16 does using the second PCIex16 slot result in the first PCIex16 running at x8 ?
  • ganeshts - Tuesday, April 24, 2012 - link

    If the second PCIe is occupied, then it will cause the first x16 to run at x8. Both these slots are electrically connected, so when you need even one lane, it takes eight away from the first PCIe slot for it.
  • Bluestraw - Tuesday, April 24, 2012 - link

    I see you didn't test madVR in Full Screen Exclusive mode - can you elaborate on the reason for this please? I read over at missingremote that FSE improved the situation significantly for madVR with the HD4000?

Log in

Don't have an account? Sign up now