Community
cancel
Showing results for 
Search instead for 
Did you mean: 
KK
Beginner
29 Views

Increase in Private Bytes consumption in Sample_Decode

Hello,

We are using i7-4770K CPU. Our screen resolution is 1600x1200.

While using Intel Media SDK's 'Sample_Decode' example,

[1]. We observed an increase of 30-35 MB of system private bytes in perf monitor tool for the following API:

[cpp]

hr = m_pD3D9->CreateDeviceEx(

        nAdapterNum,

        D3DDEVTYPE_HAL,

        (HWND)hWindow,

        D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE,

        &m_D3DPP,

        NULL,

        &m_pD3DD9);

[/cpp]

Is this memory usage expected or are we doing something wrong?

                             

[2]. There is also an increase of ~88 MB of system private bytes in perf monitor tool for the following API:

  [cpp]              m_pmfxDEC->Init(&m_mfxVideoParams); [/cpp]

Decode parameters are initialized for 1080p H.264.

Is this memory usage expected or are we doing something wrong?

 

[3]. We need to decode multiple 1080p H.264 streams. We are creating 1 D3D9 device  per window. Due to the memory consumption of the above two APIs we are not able to scale more.

Please suggest if creating 1 D3D9 device  per window is the optimal approach.

regards,

KK

0 Kudos
1 Reply
Petter_L_Intel
Employee
29 Views

Hi,

The amount of memory allocated by CreateDeviceEx depends on OS version, configuration option and partly the graphics driver. There is little you can to limit the amount memory consumed by this call. The amount of memory you see allocated is expected.

Media SDK decode does consume a substantial amount of memory. This is the expected behavior.  That said, you can minimize the amount of memory allocated by configuring your pipeline for low latency (AsyncDepth = 1 etc.).

If you are pursuing a multichannel decode scenario, you can safely reuse the DirectX device for all the channels so save memory.

Regards,
Petter

Reply