If you have started developing or porting games that use DX12, you have probably realized that it is, in many ways a very different beast when compared to DX11. Lots of responsibility is suddenly being placed on your shoulders.

This responsibility amounts to not only getting things functionally correct but also (amongst other things) mastering multi-threaded command list submission to really get the best performance out of the new API.

There isn’t yet a lot of written advice out there which makes it hard to avoid mistakes other people have already made and hard to benefit from the tricks other developers have mastered to drive DX12 efficiently.

We at NVIDIA have started writing down what we know works well and what doesn’t work well with DX12 and we’d like to share this with you in a living document that will change over time as we learn new things about DX12.

Here is our DX12 Do’s and Don’ts – we hope it will help you to tame DX12!