Partilhar via


Recuperando números de memória gráfica

Os desenvolvedores de software que criam aplicativos gráficos podem usar as APIs do Microsoft DirectX versão 10 a partir do Windows Vista para recuperar o conjunto preciso de números de memória gráfica em computadores que executam drivers de vídeo WDDM (Windows Display Driver Model). As etapas a seguir mostram como recuperar os números de memória gráfica:

  1. Como o novo relatório de memória gráfica está disponível somente em computadores que executam drivers de vídeo WDDM (Windows Display Driver Model), um aplicativo deve primeiro chamar a seguinte função para confirmar o modelo de 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. Depois que o aplicativo determina que o modelo de driver de vídeo é o WDDM, o aplicativo pode usar as novas APIs do DirectX versão 10 para obter os números de memória gráfica. O aplicativo obtém os números de memória gráfica do seguinte DXGI_ADAPTER_DESC estrutura de dados, que está presente no Dxgi.h e está incluído no 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;
    

Devido ao uso extensivo de elementos gráficos no Windows Vista e em jogos de desktop e DirectX posteriores, o software executado no Windows Vista e posterior deve ser capaz de determinar com precisão a quantidade de memória gráfica disponível. O WDDM gerencia a virtualização da memória gráfica em si e também garante relatórios precisos de vários aspetos da memória gráfica. Os desenvolvedores de aplicativos e fornecedores de software devem aproveitar as APIs do DirectX versão 10 para recuperar o conjunto preciso de valores de memória gráfica em computadores com drivers de vídeo do Windows Vista.