Condividi tramite


Recupero di numeri di memoria grafica

Gli sviluppatori software che creano applicazioni grafiche possono usare le API microsoft DirectX versione 10 a partire da Windows Vista per recuperare il set accurato di numeri di memoria grafica nei computer che eseguono i driver di visualizzazione Windows Display Driver Model (WDDM). La procedura seguente illustra come recuperare i numeri di memoria grafica:

  1. Poiché la nuova creazione di report di memoria grafica è disponibile solo nei computer che eseguono i driver di visualizzazione Windows Display Driver Model (WDDM), un'applicazione deve prima chiamare la funzione seguente per confermare il modello di driver:

    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;
    }
    
  2. Dopo che l'applicazione determina che il modello di driver visualizzato è WDDM, l'applicazione può usare le nuove API DirectX versione 10 per ottenere i numeri di memoria grafica. L'applicazione ottiene i numeri di memoria grafica dalla struttura di dati DXGI_ADAPTER_DESC seguente, presente in Dxgi.h ed è incluso in DirectX Software Development Kit (SDK).

    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;
    

A causa dell'uso esteso della grafica nei giochi Desktop e DirectX di Windows Vista e versioni successive, il software in esecuzione in Windows Vista e versioni successive dovrebbe essere in grado di determinare con precisione la quantità di memoria grafica disponibile. WDDM gestisce la virtualizzazione della memoria grafica stessa e garantisce anche report accurati di vari aspetti della memoria grafica. Gli sviluppatori di applicazioni e i fornitori di software devono sfruttare le API DirectX versione 10 per recuperare il set accurato di valori di memoria grafica nei computer con driver di visualizzazione di Windows Vista.