假设我有更多物理设备支持Vulkan(专用+集成GPU,或2个专用或其他可能性).用户可以在选项屏幕中选择要使用的设备.我需要能够在磁盘上坚持自己的选择.
我可以使用哪个字段来唯一标识跨不同执行的物理设备?
vendorID
+ deviceID
是不够的:我可以连接2个相同的GPUdeviceName
由于同样的原因是不够的deviceLUID
不保证在场,可能会遇到与deviceUUID
以下相同的问题deviceUUID
看起来是正确的选择,但规范说:
虽然
VkPhysicalDeviceIDPropertiesKHR::deviceUUID
指定在驱动程序版本和系统重新启动之间保持一致,但它不能用作设备的可序列化持久标识符.当系统断电时,在系统中物理添加,移除或移动到系统中的其他连接器时,它可能会更改.
那么......我该怎么用?
deviceUUID
是你最好的.
这样想吧.如果deviceUUID
匹配缓存副本,那么您确定它是相同的设备.如果缓存的ID与任何现有设备都不匹配,则删除该硬件或发生激进事件.无论哪种方式,您都需要再次弹出该对话框以让用户决定该怎么做.
归档时间: |
|
查看次数: |
98 次 |
最近记录: |