Compartir a través de


Recuperación de números de memoria de gráficos

Los desarrolladores de software que crean aplicaciones gráficas pueden usar las API de Microsoft DirectX versión 10 a partir de Windows Vista para recuperar el conjunto preciso de números de memoria de gráficos en equipos que ejecutan controladores de pantalla de Windows Display Driver Model (WDDM). Los pasos siguientes muestran cómo recuperar los números de memoria de gráficos:

  1. Dado que los nuevos informes de memoria de gráficos solo están disponibles en equipos que ejecutan controladores de pantalla del modelo de controlador de pantalla de Windows (WDDM), una aplicación primero debe llamar a la siguiente función para confirmar el modelo de controlador:

    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. Una vez que la aplicación determina que el modelo de controlador de pantalla es el WDDM, la aplicación puede usar las nuevas API de DirectX versión 10 para obtener los números de memoria de gráficos. La aplicación obtiene los números de memoria de gráficos de la siguiente estructura de datos DXGI_ADAPTER_DESC , que está presente en Dxgi.h y se incluye en el Kit de desarrollo de software (SDK) de 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;
    

Debido al amplio uso de gráficos en los juegos de Escritorio y DirectX de Windows Vista y versiones posteriores, el software que se ejecuta en Windows Vista y versiones posteriores debe ser capaz de determinar con precisión la cantidad de memoria gráfica disponible. WDDM administra la virtualización de la memoria gráfica en sí misma y también garantiza informes precisos de varios aspectos de la memoria gráfica. Los desarrolladores de aplicaciones y proveedores de software deben aprovechar las API de DirectX versión 10 para recuperar el conjunto preciso de valores de memoria de gráficos en equipos que tienen controladores de pantalla de Windows Vista.