currently, I try to port an OpenGL engine to Vulkan. I arrived at the point where I have to port offscreen rendering to textures which are then used for composing the final frame.
My current plan was to give every texture target its own command buffer, then call vkQueueSubmit once the offscreen target is finished, then start with the command buffer of the next texture target.
Now my question: Does the usage of multiple command buffers this way offer serious disadvantages in the areas of performance or synchronization? I’m asking because having all offscreen targets and the window surface share the same command buffer would require refactoring work I’d like to avoid.
There can be rendering to up to 40 texture targets once a frame.