Perfomance

I'm new to vulkan api and there's one thing I don't understand. I have an array of textures for reading, set to 0, read-only, and I created it using descriptor_indexing. Next, I need one buffer that changes every frame, I chose dynamic uniform for this. If I have essentially static descriptor sets, can I combine them into one, because only the contents of the dynamic uniform change.

Parents
  • Yes you can merge, there is no reason to split read-only resources into different descriptor sets. 

    Descriptor set rebuilds can be expensive, especially on older hardware. There are various schemes for using descriptor sets, but the general goal is to minimize changes and instead just update which descriptor set is bound. Generally we see schemes based on temporal pooling - read only things on one set, things that change one per frame in another, things that change per draw in another, etc - but there are many ways to do it with different tradeoffs. 

Reply
  • Yes you can merge, there is no reason to split read-only resources into different descriptor sets. 

    Descriptor set rebuilds can be expensive, especially on older hardware. There are various schemes for using descriptor sets, but the general goal is to minimize changes and instead just update which descriptor set is bound. Generally we see schemes based on temporal pooling - read only things on one set, things that change one per frame in another, things that change per draw in another, etc - but there are many ways to do it with different tradeoffs. 

Children
No data