Каков вариант использования для повторной отправки буфера ожидающих команд в Vulkan - PullRequest
1 голос
/ 28 мая 2020

Один из флагов для VkCommandBufferBeginInfo - VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, который spe c описывает как

указывает, что буфер команд может быть повторно отправлен в очередь, пока он находится в состоянии ожидания, несколько первичных командных буферов.

В моем ограниченном опыте я создал отдельные командные буферы для каждого изображения в цепочке подкачки, поскольку каждый командный буфер записывается в другой кадровый буфер, и, следовательно, мне не нужно было пытаться для повторной отправки командного буфера, пока он находится в состоянии ожидания.

В каких случаях вы хотите установить флаг VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT и повторно отправить ожидающий командный буфер?

1 Ответ

1 голос
/ 28 мая 2020

Эта функция в основном предназначена для случаев, когда вы визуализируете статическую c сцену или где различия в визуализации определяются операциями с памятью. Хотя для того, чтобы применить даже последний случай, вам потребуется какая-то синхронизация между рендерингом последнего кадра, операцией с памятью и рендерингом следующего (большинство рендеров только с памятью дважды буферизуют память, так что один объект памяти может быть прочитан, пока другой модифицируется для следующего кадра).

...