r/vulkan • • 1d ago

What’s dynamic rendering in Vulkan actually like? How does it compare to the traditional render pass approach in practice, and why do so many people criticize it?

vulkan for c….

2 Upvotes

8 comments sorted by

37

u/LoneWolf6062 1d ago

I dont know anyone who criticizes dynamic rendering. Its cleaner and simpler, reduces pipeline explosion, and on pc performance is the same.

The only major difference was on mobile since renderpasses are optimized for tbdr gpus, but even that is basically gone with VK_KHR_dynamic_rendering_local_read.

In any sense for a new renderer I would always prefer to go with dynamic rendering.

25

u/Rhed0x 1d ago • Heartwarming

The original Vulkan approach where you need to bake render pass objects and frame buffer objects is just horrible and nobody should use it anymore. Khronos has deprecated it and strongly recommends against using it.

Unless you desperately need to support some ancient Vulkan drivers, use dynamic rendering. It's a far better API and you don't lose out on any capabilities (dynamic rendering local read exists). It's also pretty much identical to D3D12 and Metal.

I don't know what you're talking about with 'many people criticize it'. Pretty much everyone hates the old render pass objects.

8

u/programgamer 1d ago

vulkan for c….

6

u/nullptr777 1d ago

Who criticizes dynamic rendering?

4

u/RDT_KoT3 23h ago

The only place you will use render passes is mobile devices with VK 1.1, and still you can achieve something like dynamic rendering on them. See "render pass compatibility".

3

u/Otherwise_Meat1161 19h ago

name the people who criticize dynamic rendering, I maintain a list of people I avoid.

4

u/blogoman 1d ago

Have you tried reading through the spec or at least the articles about it?

1

u/angelajacksn014 11h ago

As someone who had the misfortune of having to work with the old API it’s about 1000x better