Intel Media SDK Tutorial - simple_3_encode_d3d

This Intel® Media SDK tutorial sample operates in the same way as the "sample_3_encode" workload except that it is using D3D memory surfaces instead of system memory surfaces.

Like the "simple_2_decode" tutorial sample this sample supports both Microsoft DirectX* 9 and DirectX* 11. For more details on this topic, please refer to "simple_2_decode" sample description.

Analyzing the workload using the Intel® GPA “Media Performance” dialog shows improved overall GPU utilization, ~80%, resulting in better performance. For tutorial snapshot benchmarks comparing all workloads analyzed with Intel GPA, navigate to this page.

Click here to expand image in separate window

Let’s explore what is going on by studying the Intel GPA workload trace

Click here to expand image in separate window

  • From the trace we can see that the system to D3D memory copy is eliminated, thus improving GPU load, performance, and CPU utilization slightly. Other than that not much has changed if compared to the former system memory based workload trace.

To improve performance and achieve greater GPU utilization we must move away from the synchronous encoding approach towards asynchronous workload behavior. The next tutorial section will explore an asynchronous encode pipeline.

This tutorial sample is found in the tutorial samples package under the name "simple_3_encode_d3d". The code is extensively documented with inline comments detailing each step required to setup and execute the use case.

[ Previous Tutorial ]    [ Next Tutorial ]    [ Back to Tutorial samples index ]

Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.