Search code examples
wpfvideomedia-playerdirectshowms-media-foundation

Will D3DImage + Media Foundation (EVR) provide better performance comparing to D3DImage + DirectShow (VMR9)?


I am developing video app using WPF and DirectShow. Capability of providing an overlay over the playback area was achieved with D3DImage and custom allocator-presenter, as a result I have high CPU loading (80% at 20 streams with fps = 2). Will D3DImage + Media Foundation (EVR) provide better performance comparing to D3DImage + DirectShow (VMR9)?


Solution

  • First of all, EVR could be used both with DirectShow and MediaFoundation. Here is a very good example project which combines WPF D3DImage, DirectShow and EVR: https://wpfmediakit.codeplex.com. It is even possible to toggle between EVR and VMR9 renderer in wpfmediakit and compare CPU usage.

    In general, EVR is the best choice for Vista or later. Here is a simple guide for picking best DirectShow video renderer.