2017-03-03 1 views
1

Utilisation de C Comment puis-je détecter les GPU discrets actuellement installés et s'ils sont actuellement en CrossFireX ou SLI. J'utilise Windows 7 et OpenGL. Je voudrais découvrir cette information afin que dans mon jeu je puisse soutenir Alternate Frame Rendering plus efficacement.Détection SLI et CrossFireX par programmation

+0

S'il vous plaît [modifier] votre question pour montrer [ce que vous avez essayé jusqu'à présent] (http://whathaveyoutried.com). Vous devez inclure au moins un aperçu (mais de préférence un [mcve]) du code avec lequel vous rencontrez des problèmes, puis nous pouvons essayer d'aider avec le problème spécifique. Vous devriez aussi lire [ask]. –

Répondre

2

Vous devez utiliser des extensions spécifiques pour chaque fournisseur. Pour CrossFire, vous utiliserez WGL_AMD_gpu_association, et plus précisément wglGetGPUIDsAMD et wglGetGPUInfoAMD pour obtenir des informations sur les différents GPU. Pour Nvidia SLI, vous utiliserez WGL_NV_gpu_affinity, et plus précisément wglEnumGpusNV et wglEnumGpuDevicesNV pour obtenir des informations sur les différents GPU.

Pour réellement utiliser multi-gpu, vous devrez également créer vos contextes avec les fonctions dans ces deux extensions.