Multiple decoder w/o multiple threads

Multiple decoder w/o multiple threads

I have 12 decoders in our application. I compared between multiple decoder with multiple threads (each decoder owns itself thread) and multiple decoder with single thread. The test result is that the latter almost 3 times faster than the former. Could someone explain why?Thank in advance.Jiuxiang

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Jiuxiang,

The Intel Media SDK contains a scheduler that is designed to manage the use of available low-level hardware components efficiently. When creating multiple decoders, we recommend using the MFXJoinSession() method so that the asynchronous work can be efficiently managed. This is described in Section 4.3 of the Intel_Media_Developers_Guide.pdf.

If you are using hardware acceleration, there are limited hardware resources and the Intel Media SDK provides this feature so that yoru application makes optimal use of the resources.

You may also want to look at using this tool to help tune your specific application even further when exectuing on Intel platforms that support hardware acceleration.

http://software.intel.com/en-us/articles/using-intel-graphics-performance-analyzer-gpa-to-analyze-intel-media-software-development-kit-enabled-applications/

-Tony

-Tony

Hi Tony,I combined MFXJoinSession() with IDirect3D device mananger and suit sychonization. My problem solved. Intel GPA shows that my application performance became better, output frame rate is more stable.I still have a tiny question. Do I have to use MFXDisjoinSession() before I destruct the decoders?Thanks.Jiuxiang

Leave a Comment

Please sign in to add a comment. Not a member? Join today