Vulkan Run Time Site

Stop treating vkCreatePipeline like a black box. Profile your pipeline creation. Implement a persistent pipeline cache. Use the validation layers only in dev . And respect the runtime: it does exactly what you told it to do, even when you told it to do something stupid.

The Vulkan Runtime does compile shaders to machine code at vkCreateShaderModule . That call is fast because it does almost nothing. The real compilation happens at vkCreateGraphicsPipeline . vulkan run time

Vulkan isn't hard because the runtime is broken. Vulkan is hard because the GPU is complicated, and for the first time, you're the one managing that complexity. Stop treating vkCreatePipeline like a black box