Vulkan
The most recommended of 7 graphics APIs
An open, cross-platform GPU API for graphics and compute, often faster than ROCm for local AI, but verbose, boilerplate-heavy and hard to learn.
An open, cross-platform GPU API for graphics and compute, often faster than ROCm for local AI, but verbose, boilerplate-heavy and hard to learn.
159 people gave an opinion
- recommend it
- 99
- criticize it
- 60
- approval share
- 62%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 99 people recommend itNeeds 10 or more, met.
- 1.6 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Open, cross-platform standard
“There's a complete graphics ecosystem with full participation from the games industry that doesn't have Microsoft as the gatekeeper.”
Comment from 13 Nov 2025 in “Steam Machine” “Vulkan makes no such assumptions, and uses no platform-specific data structures, making it automatically more cross-platform.”
Comment from 23 Nov 2025 in “Shaders: How to draw high fidelity graphics with just x and y coordinates” “My definition of open is that Khronos doesn't restrict (as far as I know) what platforms Vulkan can be implemented on.”
Comment from 23 Nov 2025 in “Shaders: How to draw high fidelity graphics with just x and y coordinates” - Comment from 16 Dec 2025 in “No Graphics API”
- Comment from 20 Mar 2026 in “Video Encoding and Decoding with Vulkan Compute Shaders in FFmpeg”
- Comment from 22 Nov 2025 in “How I learned Vulkan and wrote a small game engine with it (2024)”
- Comment from 17 Oct 2026 in “I love software rendering”
- Comment from 23 Nov 2025 in “Shaders: How to draw high fidelity graphics with just x and y coordinates”
- Comment from 25 Jun 2026 in “Qualcomm to Acquire Modular”
- Comment from 14 Feb 2026 in “Zed editor switching graphics lib from blade to wgpu”
Fast GPU compute, beats ROCm
“Vulkan is up to 2.25X faster for most coalesced, strided and interleave variants for memory-side scheduling/access shapes”
Comment from 8 Jul 2026 in “AMD Ryzen AI Halo – $4k AI Dev Kit” “one is incredibly more stable (and sometimes even more performant) for AI use cases as side-gig”
Comment from 13 Apr 2026 in “Taking on CUDA with ROCm: 'One Step After Another'” “ROCm is usually not only a bit slower for me (~32 t/s vs ~43 t/s on the main model I use)”
Comment from 19 Apr 2026 in “My first impressions on the ROCm and Strix Halo” - Comment from 29 Aug 2026 in “Run Qwen3.8 27B locally: real numbers from my Mac Studio”
- Comment from 2 Apr 2026 in “Lemonade by AMD: a fast and open source local LLM server using GPU and NPU”
Modern extensions simplify code
“Vulkan is miserable, but several things are improved by using a few extensions supported by almost all relevant vendors.”
Comment from 22 Nov 2025 in “How I learned Vulkan and wrote a small game engine with it (2024)” “Using Vulkan 1.3 with a few extensions is actually far more ergonomic beyond a basic "Hello, World" than using SDL GPU.”
Comment from 22 Nov 2025 in “How I learned Vulkan and wrote a small game engine with it (2024)” “Going from render passes to dynamic rendering really simplified my code.”
Comment from 10 Feb 2026 in “Simplifying Vulkan One Subsystem at a Time” - Comment from 23 Jul 2026 in “Learn OpenGL, extensive tutorial resource for learning Modern OpenGL”
Broad industry and engine support
“There's a complete graphics ecosystem with full participation from the games industry that doesn't have Microsoft as the gatekeeper.”
Comment from 13 Nov 2025 in “Steam Machine” “Vulkan is mature. It has been used in production since 2013 (!) in the form of Mantle.”
Comment from 10 Feb 2026 in “Simplifying Vulkan One Subsystem at a Time” “Vulkan has the shape of every modern graphics api out there, DX included.”
Comment from 23 Jul 2026 in “Learn OpenGL, extensive tutorial resource for learning Modern OpenGL” - Comment from 10 Feb 2026 in “Simplifying Vulkan One Subsystem at a Time”
What people warn about
Each mark is one comment
Heavy boilerplate, steep learning curve
“you'll probably burn yourself out by the time you've gotten a triangle on the screen”
Comment from 23 Jul 2026 in “Learn OpenGL, extensive tutorial resource for learning Modern OpenGL” “it's very convoluted low-level API, in which you have to write pretty complicated 200+LoC just to have simplest stuff running”
Comment from 13 Apr 2026 in “Taking on CUDA with ROCm: 'One Step After Another'” “These low level concepts are just unnecessary “learning cliffs” that are only useful to existing experts in the field.”
Comment from 22 Nov 2025 in “How I learned Vulkan and wrote a small game engine with it (2024)” - Comment from 23 Jul 2026 in “Learn OpenGL, extensive tutorial resource for learning Modern OpenGL”
- Comment from 28 Dec 2025 in “Learn computer graphics from scratch and for free”
Needlessly complex API design
“There are so many completely needlessly complex things, or things that should have an easy-path for the common case.”
Comment from 10 Feb 2026 in “Simplifying Vulkan One Subsystem at a Time” “Vulkan still requires you to play by someone else's rules of how they thought the API should work”
Comment from 15 Jul 2026 in “Writing a bindless GPU abstraction layer” “I'm not going to use an API with entirely pointless complexity with zero performance benefits for my use cases.”
Comment from 10 Feb 2026 in “Simplifying Vulkan One Subsystem at a Time” Committee and mobile-driven design compromises
“a collection of more-or-less adhoc design decisions to make Vulkan 1.0 work on specific GPUs”
Comment from 27 Aug 2026 in “Dissecting the Apple M1 GPU, the End” “Render passes were only bolted into Vulkan because of mobile tiler GPUs, they never made any sense for desktop GPUs and only made Vulkan worse for desktop graphics development.”
Comment from 19 Dec 2025 in “No Graphics API” “The mistake Vulkan made was putting too much state in the pipeline, as much of that state is dynamic in modern hardware now.”
Comment from 22 Dec 2025 in “No Graphics API” - Comment from 15 Aug 2026 in “RISC-V: They Should Have Known Better”
- Comment from 17 Dec 2025 in “No Graphics API”
Other graphics APIs people recommend
The four most recommended other graphics APIs, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
See all 7 graphics APIs, rankedWhat people said
40 of the 266 comments that mention it, newest first. Each links to the original comment.
“Other APIs don't suffer from this problem, D3D, Vulkan and Metal all have excellent validation layers which give very helpful messages”
“graphics portability has improved quite a bit thanks to Vulkan, WebGPU, Wine, and others”
“Vulkan is actually faster too so there is no reason to bother with ROCm anyway”
“a collection of more-or-less adhoc design decisions to make Vulkan 1.0 work on specific GPUs”
“you write the CPU side code, including buffering, allocation, concurrency, etc through Vulkan binding and consume the compute kernel in SPIR-V”
“Vulkan suffers from the same design by committee problem, which similarly caused it to miss seemingly basic features”
“you'll probably burn yourself out by the time you've gotten a triangle on the screen”
“go with vulkan and use dynamic rendering and buffer device addressing”
“Starting with something like Vulkan means you're dropped straight into hundreds of lines of low level boilerplate”
“Vulkan has the shape of every modern graphics api out there, DX included.”
“Vulkan still requires you to play by someone else's rules of how they thought the API should work”
“Vulkan is up to 2.25X faster for most coalesced, strided and interleave variants for memory-side scheduling/access shapes”
“the best cross-platorm API we've got for high performance Kernels is vulcan”
“ROCm is usually not only a bit slower for me (~32 t/s vs ~43 t/s on the main model I use)”
“one is incredibly more stable (and sometimes even more performant) for AI use cases as side-gig”
“it's very convoluted low-level API, in which you have to write pretty complicated 200+LoC just to have simplest stuff running”
“Vulkan has been commonly recognized as the faster API for some time.”
“it's also nice to be able to keep it within one API that's platform agnostic when possible”
“the 'modern C++' sample code which adds a C++ RAII wrapper on top of the Vulkan C API does more harm than good”
“Vulkan API works on Windows, Android, Linux. Even web has Vulkan support.”
“Vulkan is supported on all major modern engines, internal and public.”
“Vulkan is mature. It has been used in production since 2013 (!) in the form of Mantle.”
“I'm not going to use an API with entirely pointless complexity with zero performance benefits for my use cases.”
“There are so many completely needlessly complex things, or things that should have an easy-path for the common case.”
“Going from render passes to dynamic rendering really simplified my code.”
“The usual curse of inefficient Vulkan is maxing out the main CPU thread long before the GPU is fully utilized.”
“Every time I try and learn Vulkan I end up getting confused and annoyed about how much code I need to write”
“The mistake Vulkan made was putting too much state in the pipeline, as much of that state is dynamic in modern hardware now.”
“Render passes were only bolted into Vulkan because of mobile tiler GPUs, they never made any sense for desktop GPUs and only made Vulkan worse for desktop graphics development.”
“In hindsight it really would have been better to have a separate VulkanES which is specialized for mobile GPUs.”
“one of the things Vulkan did which would be a shame to lose is it unified desktop and mobile GPU APIs”
“while the Vulkan documentation situation is a lot better than OpenGL it's not any better than the documentation of other 3D APIs, especially when trying to make sense of extensions”
“it's still way "more" cross-platform than DirectX by your own point of view.”
“My definition of open is that Khronos doesn't restrict (as far as I know) what platforms Vulkan can be implemented on.”
“Vulkan makes no such assumptions, and uses no platform-specific data structures, making it automatically more cross-platform.”
“despite my annoyances with the API, I still think that it's nice to have an open standard”
“Using Vulkan 1.3 with a few extensions is actually far more ergonomic beyond a basic "Hello, World" than using SDL GPU.”
“These low level concepts are just unnecessary “learning cliffs” that are only useful to existing experts in the field.”
“Vulkan is miserable, but several things are improved by using a few extensions supported by almost all relevant vendors.”
“There's a complete graphics ecosystem with full participation from the games industry that doesn't have Microsoft as the gatekeeper.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.