Introduction

Why DX12 over DX11, what hardware and software you'll need, and an overview of what this series covers.

Early Draft Work in progress — GitHub links coming soon.

DirectX 12 puts you in full control of the GPU. Unlike DX11, there’s no runtime magic — you manage memory, synchronization, and resource states yourself. It’s more work, but that control is exactly what makes high-performance rendering possible.

This series walks through DX12 from the ground up, starting with the Win32 plumbing every Windows graphics app needs, then moving on to devices, command queues, swap chains, pipelines, and your first rendered triangle.

Why DX12?

DX11 was designed to be easy. The driver handled a lot of heavy lifting — state management, memory allocation, synchronization. That convenience comes at a cost: unpredictable CPU overhead, driver stalls, and limited multi-threading.

DX12 removes the abstraction. You talk to the GPU almost directly. In exchange, you get:

What You’ll Need

The next chapter covers setup in detail — what to install, which workloads to select, and what can wait until later.

Series Outline

Each entry below is a standalone article. Read them in order if you’re new to DX12 — each one builds on the last.