Nvidia suggest that
Functions such as
vkAllocateCommandBuffers()
,vkBeginCommandBuffer()
, andvkEndCommandBuffer()
should be called from the thread that fills the command buffer. These calls take measurable time on CPU and therefore should not be collected in a specific thread.
Does this suggestion just means to call vkAllocateCommandBuffers()
, vkBeginCommandBuffer()
, and vkEndCommandBuffer()
in parallel, since Nvidia also suggest:
Parallelize command buffer recording, image and buffer creation, descriptor set updates, pipeline creation, and memory allocation / binding.
?
If my understanding is wrong, I didn’t get the point why vkAllocateCommandBuffers()
, vkBeginCommandBuffer()
, and vkEndCommandBuffer()
should be called in the exact thread which does the recording (or does the word “fills” means recording commands?)