我正在使用 Vulkan 1.0 进行开发,通过一步步学习和实现功能来构建渲染系统。我了解了命令记录和提交的要点,但还不足以理解我希望每个池有多个命令缓冲区的用例。正是幻灯片 14 中的演示引发了一些问题。
我的理解和目前的设计如下:
vkQueueSubmit调用之间。因此,如果我在同一帧和线程中有一组命令缓冲区,我需要的不仅仅是提交顺序来保证我想要的结果。也许我会为每次提交使用独特的信号量?vkQueueSubmit由于规范中提到的开销,多次提交甚至可能是有害的。根据上述假设,在什么情况下,每个命令池拥有多个命令缓冲区而不是拥有一个记录给定帧和线程从开始到结束的所有内容的命令缓冲区是必要或有利的?