Partilhar via


Recuperando números de memória de gráficos

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

  1. Como os novos relatórios de memória gráfica estão disponíveis apenas em computadores que executam drivers de exibição 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 exibição é o WDDM, o aplicativo pode usar as novas APIs do DirectX versão 10 para obter os números de memória gráficos. O aplicativo obtém os números de memória de gráficos da seguinte estrutura de dados DXGI_ADAPTER_DESC , que está presente em Dxgi.h e está incluída no SDK (Kit de Desenvolvimento de Software) do DirectX.

    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 jogos posteriores da área de trabalho e do DirectX, 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 aspectos da memória gráfica. 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 de gráficos em computadores que têm drivers de exibição do Windows Vista.