Screen Capture Performance

Screen Capture Performance

Hi, I'm facing with an issue regarding screen capture performance.

[Issue]
Screen capture performance gets worse when windows media player is playing video.
I checked MFXVideoDECODE::DecodeFrameAsync() performance in sample_decode.
Followings are the results and the issue is case 3):

1) Run sample_decode.exe alone
DecodeframeAsync() takes 1-3ms.

2) Run sample_decode.exe while WindowsMediaPlayer is playing music
DocdeFrameAsync() takes more than 1-3ms.

3) Run sample_decode.exe while WindowsMediaPlayer is playing video
DocdeFrameAsync() takes more than 80ms.

(sample_decode.exe parameters)
sample_decode.exe capture -hw -d3d -fourcc nv12 -async 1 -p 22d62c07e672408fbb4cc20ed7a053e4 -h 1080 -w 1920 

[Build Environment]
INDE Media SDK for Windows 6.0.0.388
Intel Media Samples 6.0.0.68

[System Environment]
The following versions of Media SDK API are supported by platform/driver:

    Version    Target    Supported    Dec    Enc
    1.0    HW    Yes        X    X
    1.0    SW    Yes        X    X
    1.1    HW    Yes        X    X
    1.1    SW    Yes        X    X
    1.3    HW    Yes        X    X
    1.3    SW    Yes        X    X
    1.4    HW    Yes        X    X
    1.4    SW    Yes        X    X
    1.5    HW    Yes        X    X
    1.5    SW    Yes        X    X
    1.6    HW    Yes        X    X
    1.6    SW    Yes        X    X
    1.7    HW    Yes        X    X
    1.7    SW    Yes        X    X
    1.8    HW    Yes        X    X
    1.8    SW    Yes        X    X

Graphics Devices:
    Name                                         Version             State
    Intel(R) HD Graphics 4600                    10.18.14.4264       Active

System info:
    CPU:    Intel(R) Core(TM) i5-4310M CPU @ 2.70GHz
    OS:    Microsoft Windows 7 Professional 
    Arch:    64 

(Question)

I guess screen capture plug-in is slow when other DirectX application(for example, Windows Media Player) is running.
Is it right?

I want to capture screen image(1920x1080) less than 10ms even if other application is running.
Do you have any workaround to avoid this issue?

Regards,
Yoshi

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

Hi Yoshihiko,

Yes, you guessed correctly. When you run screen capture (in hardware mode) and a Direct X application, in this scenario both the process access GPU on the device simultaneously. Hence the performance drop. The performance is also dependent resolution of the video you are running on player which is 1920x1080.

Few workaround you can try to achieve desired performance: 

  • Upgrade OS to Win 8.1 and use DX11 implementation. 
  • Currently you running applications on a 4th generation processor (i5-4310M), if you have machine with 5th generation processors with Win8.1 and latest driver installed. Run same scenario in dx11 mode. 

Thanks, 

Leave a Comment

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