2017-06-03 6 views
0

Ich schreibe Code, um ein physikalisches Gerät auszuwählen, aber ich möchte etwas Logik hinzufügen, um neuere Geräte (mehr VRAM oder höhere Taktfrequenz) zu bevorzugen, wenn mehrere meine Mindestanforderungen erfüllen .Abfrage Menge VRAM oder GPU Taktgeschwindigkeit

Ist das möglich?

Antwort

2

Vulkan hat keine spezifischen API-Aufrufe, um solche GPU-Details zu erhalten, dafür müssen Sie mit herstellerspezifischen APIs wie NVAPI arbeiten. Der einzige Hinweis ist möglicherweise deviceType Mitglied von VkPhysicalDeviceProperties, die zurückgibt, ob es eine integrierte, diskrete oder virtuelle GPU ist.

Die VRAM-Größe kann jedoch ermittelt werden, indem der Speicher-Heap mit dem DEVICE_LOCAL-Bit unter Verwendung von vkGetPhysicalDeviceMemoryProperties gefunden wird. Die von dieser Funktion zurückgegebene VkPhysicalDeviceMemoryProperties enthält alle verfügbaren Speicher-Heaps im memoryHeaps Mitglied. Die Konfiguration unterscheidet sich besonders. zwischen diskreten und integrierten GPUs, so dass dies nicht immer das ist, was Sie suchen, z. auf integrierten GPUs mit gemeinsamem Speicher.

Heaps für eine diskrete GPU: http://vulkan.gpuinfo.org/displayreport.php?id=1432#memoryheaps

Heaps für eine integrierte GPU:

http://vulkan.gpuinfo.org/displayreport.php?id=1200#memoryheaps
Verwandte Themen