Gradwork: Performance and Architectural Study of Direct3D 11 and Direct3D 12

Comparing and analyzing differences between DirectX 11 and DirectX 12

Course
Graduation Work

Project Duration
1 Semester

For my graduation work, I chose the topic analyzing the differences between DirectX 11 and DirectX 12, as well as look at how performance compares between the two versions in a simple scene.

In my case study, I found that even though the pipeline hasn’t changed much, the differences become apparent as soon as you initialize DirectX. The steps needed to render a mesh are the same, but the way you go about it differs in DirectX 12. The addition of the command queue/list, PSOs, resource barriers etc. all come together to make DirectX 12 quite a bit more complicated than its predecessor.

For my scene I chose to render multiple instances of the Stanford Dragon mesh using GPU instancing to eliminate the CPU bottleneck.