Abrufen von Grafikspeichernummern
Softwareentwickler, die Grafikanwendungen erstellen, können die Microsoft DirectX Version 10-APIs ab Windows Vista verwenden, um den genauen Satz von Grafikspeichernummern auf Computern abzurufen, auf denen WDDM-Anzeigetreiber (Windows Display Driver Model) ausgeführt werden. Die folgenden Schritte zeigen, wie Sie die Grafikspeichernummern abrufen:
Da die neue Grafikspeicherberichterstellung nur auf Computern mit WDDM-Anzeigetreibern (Windows Display Driver Model) verfügbar ist, muss eine Anwendung zunächst die folgende Funktion aufrufen, um das Treibermodell zu bestätigen:
HasWDDMDriver() { LPDIRECT3DCREATE9EX pD3D9Create9Ex = NULL; HMODULE hD3D9 = NULL; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( NULL == hD3D9 ) { return false; } // // Try to create a IDirect3D9Ex interface (also known as a DX9L // interface). // This interface can only be created if the driver is written // according to the Windows Display Driver Model (WDDM). // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress ( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != NULL; }
Nachdem die Anwendung festgestellt hat, dass das Anzeigetreibermodell WDDM ist, kann die Anwendung die neuen DirectX Version 10-APIs verwenden, um die Grafikspeichernummern abzurufen. Die Anwendung ruft die Grafikspeichernummern aus der folgenden DXGI_ADAPTER_DESC Datenstruktur ab, die in Dxgi.h vorhanden ist und im DirectX Software Development Kit (SDK) enthalten ist.
typedef struct DXGI_ADAPTER_DESC { WCHAR Description[ 128 ]; UINT VendorId; UINT DeviceId; UINT SubSysId; UINT Revision; SIZE_T DedicatedVideoMemory; SIZE_T DedicatedSystemMemory; SIZE_T SharedSystemMemory; LUID AdapterLuid; } DXGI_ADAPTER_DESC;
Aufgrund der umfangreichen Verwendung von Grafiken in Windows Vista und später Desktop- und DirectX-Spielen sollte Software, die unter Windows Vista und höher ausgeführt wird, in der Lage sein, die Menge des verfügbaren Grafikspeichers genau zu bestimmen. WDDM verwaltet die Virtualisierung des Grafikspeichers selbst und sorgt auch für eine genaue Berichterstellung verschiedener Aspekte des Grafikspeichers. Anwendungsentwickler und Softwarehersteller sollten die DirectX-APIs der Version 10 nutzen, um den genauen Satz von Grafikspeicherwerten auf Computern mit Windows Vista-Anzeigetreibern abzurufen.