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.
Below I will link my paper, but I will give a short summary here first.
The reason I chose this topic was because I found that a lot of game releasing these days on PC ship with performance issues on the DirectX 12 version. I wanted to take the opportunity to learn DirectX 12 and find out what makes DirectX so difficult.
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.
