vulkan的QueueFamilyProperties

vulkan从物理设备创建逻辑设备的时候,有个参数是QueueFamilyProperties,这个参数指明队列支持的功能,以及队列最大数量。

队列族支持的功能,用queueFlags表示,可以是,graphics,compute,transfer,还有SparseBinding。

通过查询QueueFamilyProperties,可以得到所有队列族的特性。我的gtx 1050支持的队列族是3个:

1.支持所有四种共功能

也就是Graphics|Compute|Transfer|SparseBinding,最大队列数16

2.支持Transfer,最大队列数1

3.支持compute,最大数量8

创建逻辑设备的时候,需要指定支持的队列族。我感觉实际上只需要第一个就可以,因为它是全功能的,而且有16个队列。或许专门的transfer队列和compute队列,可以发挥更好的性能。

查了一些资料,说队列数量并不是越多越好。如果用不上就少创建。因为每个队列都会消耗资源。具体如何消耗,还有待于探索。

猜你喜欢

转载自www.cnblogs.com/mooniscrazy/p/11711634.html