Gaming, Graphics & XR

Graphics API (DirectX, Vulkan, Metal)

Also known as: rendering API, graphics programming interface

A graphics API (application programming interface) is the set of commands software uses to talk to a graphics card.

DirectX dominates Windows and Xbox, Metal runs on Apple devices, Vulkan works across many platforms including Android and Linux, and OpenGL is the older cross-platform standard. While players rarely choose one directly, the API a game uses affects its performance, which devices it runs on, and how hard it is to port.

Graphics API (DirectX, Vulkan, Metal), explained at three levels

At home

Think of a graphics API as the menu at a restaurant. The game, like a customer, can't walk into the kitchen and cook; it orders from a fixed list of dishes the kitchen understands. The graphics card is the kitchen, and the driver is the waiter translating orders. Each platform has its own menu: Windows uses DirectX, Apple uses Metal, and many others use Vulkan.

At work

A graphics API is the set of commands software uses to tell a graphics card what to draw: load these textures, run this shader, draw these triangles. DirectX covers Windows and Xbox, Metal covers Apple devices, and Vulkan covers Android, Linux, and Windows. The API a product targets decides which platforms it can reach and how much porting work each new platform costs.

Real-world examples

At home

Lena's game stuttered on her PC. Switching the graphics setting from DirectX 12 to Vulkan in the options menu made it run noticeably smoother on her hardware.

At work

Marcus leads a small Halifax studio porting its game to Mac. Because they used a game engine with Metal support, the port took weeks instead of rewriting the renderer from scratch.

How it compares

featureDirectXVulkanMetal
Main platformsWindows, XboxWindows, Linux, AndroidApple devices
OwnerMicrosoftKhronos Group (open standard)Apple
Level of controlHigh in DirectX 12HighHigh
Released (modern version)2015 (DirectX 12)20162014

Each platform has its preferred API, and engines bridge them.

For analysts

Platform reach is a business decision tied to graphics APIs. I'd choose an engine with strong multi-API support early, since retrofitting a renderer for a new platform is expensive.

History & origin

Silicon Graphics released OpenGL in 1992 as an open standard, and Microsoft launched DirectX in 1995 to make Windows a gaming platform. The two competed through the 2000s, with DirectX winning most PC games. AMD's Mantle API in 2013 showed that lower-level control could boost performance, inspiring Apple's Metal (2014), DirectX 12 (2015), and Vulkan (2016) from the Khronos Group. Apple deprecated OpenGL in 2018. Valve's Proton, built on translation layers that convert DirectX to Vulkan, made thousands of Windows games playable on Linux and the Steam Deck. WebGPU began shipping in browsers in 2023. In my view, translation layers have quietly made the API wars matter less to players than ever.