Author Topic: Management of Command Buffers and Multi-Threaded Recording in Vulkan  (Read 3135 times)

0 Members and 1 Guest are viewing this topic.


  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2532
One way to take advantage of all the CPU cores available to us is to implement multi-threaded recording of draw calls. In tile-based renderers (found in most mobile GPUs), the best approach to split the draw calls is to record them in secondary command buffers. This way they can all be submitted to the same render pass and take advantage of tile-local memory.

With Vulkan, applications are responsible for managing resources and synchronizing access to them. This can be less conservative and avoid unnecessary locks and idle time. Largely because the application has more information than the driver regarding when and how they are to be used.