I tried to play an MPEG4 file I have to see the increase in performance while using multiple threads for decoding.
When using only one thread (-t1), I get 350fps decoding speed with almost no cpu used (.296s kernel time, .250s user time).
When using 2 threads (-t2), I get 400fps decoding speed but cpu usage go through the roof (13.5s kernel time, 5.312 user time).
I use a C2D E4400 (so 2 cores). The samples (6.0) were compiled with Intel Compiler 10.1.021 and IPP 6.0.0.062.
What I see is that a libiomp5md.dll!_kmp_launch_worker thread uses around 48% of cpu time doing mostly system calls. The libiom5md.dll loaded with simple_player is version 5.0.2008.215
I didn't find anything unusual while going through the source code. I know there's a little overhead when using multiple threads but it seems very unusual to have such difference.
Does anyone experienced the same problem ? Have you find the cause of this problem or is it normal ?
ps : command line : simple_player.exe "file.mp4" -anul -vdx -t1 or simple_player.exe "file.mp4" -anul -vdx -t2