https://www.khronos.org/registry/vulkan/specs/1.0/man/html/VkDeviceQueueCreateInfo.html
我目前的工作:
查找具有支持图形和曲面的队列的设备。
然后我找到了graphicsQueue
和surfaceQueue
的索引。就我而言,它们是相同的,但我认为它们也可以是不同的。
现在我总是将queueCount
设置为1,到目前为止我没有遇到任何问题,但我可能应该设置为queueCount
到VkQueueFamilyProperties.queueCount
。
但现在我想知道它到底是做什么的?更高queueCount
表示更好的表现吗?
答案 0 :(得分:2)
您要使用的家庭中有多少个队列。队列系列是一组可以执行相同操作的队列。
不允许将queueCount
设置为0:
Valid usage [of VkDeviceQueueCreateInfo]
- queueCount必须大于0
在此之后,您从该系列的vkGetDeviceQueue获得了一个正常运行的队列,这是未定义行为的结果。它可能也会破坏你的程序。
Valid usage [of vkGetDeviceQueue]
- queueIndex必须小于创建设备时为指定队列系列索引创建的队列数,通过VkDeviceQueueCreateInfo结构的queueCount成员
答案 1 :(得分:1)
不,这与性能无关。 QueueCount(用于创建队列)是您要为所选队列系列索引调用创建的队列数。
所以,如果你是想要创建4个计算队列,您可以通过选择支持计算并将queueCount设置为4的(队列)系列索引一次调用vkGetDeviceQueue来一次创建它们。提供多个队列系列的设备示例{{3} }。