vulkan 物理设备和实例是什么关系?

问题描述

我目前对 Vulkan 实例和物理设备的关系有点困惑。

假设我有一台带两个显卡的 PC,一个是 NVidia,另一个是 AMD,

我使用 API 来检查实例属性和扩展,然后我创建了一个具有两张卡的扩展或属性的实例,这意味着当我检查有多少物理设备可用时,它应该返回 2。

然后我只是为每张卡创建一些逻辑设备。到现在为止还挺好。 如果我创建另一个实例,我还能做同样的事情吗?

我已经为每张卡创建了一些逻辑设备后,我还能得到 2 张可用的物理卡或 0 张吗?

如果我得到 2 个,我还能创建更多的逻辑设备吗?

以下链接是 Vulkan 书中的图片,表明我可以创建多个实例,但我只是不知道物理设备是如何工作的。 https://pic1.xuehuaimg.com/proxy/csdn/https://img-blog.csdn.net/20170505223921807?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzY1ODQwNjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

解决方法

您可以创建任意数量的实例。实例彼此隔离。就像任何其他应用程序也使用 Vulkan 一样。您的物理设备不会消失或发生任何事情。

同样,您可以拥有任意数量的逻辑设备。