2015-12-18 3 views
0

Désolé si cela semble être une question évidente, mais je ne trouve rien en ligne.Comment interroger Direct3D9 pour la quantité totale de mémoire vidéo?

Dans Direct3D9, comment puis-je obtenir la quantité totale de mémoire vidéo pour un périphérique d'affichage spécifique? Je suis à la recherche d'un équivalent programmatique de lancer dxdiag et de chercher là-haut. (Je ne pas soin de disponibles mémoire, combien de Mo la carte vidéo a.)

Sachant combien la mémoire de la carte vidéo d'un utilisateur sera des informations utiles dans les rapports d'accident.

Répondre

0

Sous Windows Vista, Windows 7, Windows 8.x et Windows 10, utilisez DXGI. Les détails sont dans la structure DXGI_ADAPTER_DESC: DedicatedVideoMemory, DedicatedSystemMemory, SharedSystemMemory.

Si vous ciblez ces systèmes d'exploitation, l'utilisation devrait probablement en utilisant Direct3D 11 et non l'héritage Direct3D 9.

Voir l'échantillon Video Memory de GitHub.

+0

Est-il possible de combiner DXGI et DirectX9? Réécrire mes milliers de lignes de code DX9 dans DX11 est hors de question, dans mon cas particulier. –

+0

Puis s'en tenir à DirectX 9, mais réaliser le débogage sur les versions modernes de l'OS est plus difficile et vous devrez vous serrer les dents et le réécrire à un moment donné. –

+0

Et oui, vous pouvez utiliser DXGI avec Direct3D 9 sous Windows Vista ou version ultérieure pour l'énumération et autres, mais vous utilisez les API héritées pour créer réellement le périphérique Direct3D 9. –