Recommendations for rendering several cells with a volcano

I have several grids with various textures / pipelines, such as depth / blend functions for visualization using a volcano. What are the best methods for their profitability in terms of productivity.

  • One option is to create n instruction buffers with n threads for n cells, in which nothing is shared between them, layout, descriptors, samplers, or anything else. if i go with this, should i use n secondary instruction buffers and 1 primary or will they all be secondary?

  • Use the same command buffer to render n meshes, create n pipelines, n buffers for uniforms and vertex data. start writing a command buffer, and then in a loop call vkcmdDraw for n grids with another pipeline, buffers. I can do this approach. but how can I use multithreading to make it faster?

Or any other approach?

+5
source share
1 answer
  1. if we are going to share something between rendering 2 grids, we need synchronization.

You do not do this; if everything you use is read-only, you don’t need synchronization. The only time you need synchronization between grids is if you write to memory and read another grid. The state of the pipeline and color attachments are synchronized by the implementation, so you don’t have to worry about that.

+1
source

All Articles