그래픽 메모리 번호 검색

그래픽 애플리케이션을 만드는 소프트웨어 개발자는 Windows Vista부터 Microsoft DirectX 버전 10 API를 사용하여 WDDM(Windows 디스플레이 드라이버 모델) 디스플레이 드라이버를 실행하는 컴퓨터에서 정확한 그래픽 메모리 번호 집합을 검색할 수 있습니다. 다음 단계에서는 그래픽 메모리 번호를 검색하는 방법을 보여 줍니다.

  1. 새 그래픽 메모리 보고는 WDDM(Windows 디스플레이 드라이버 모델) 디스플레이 드라이버를 실행하는 컴퓨터에서만 사용할 수 있으므로 애플리케이션은 먼저 다음 함수를 호출하여 드라이버 모델을 확인해야 합니다.

    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. 애플리케이션에서 디스플레이 드라이버 모델이 WDDM인지 확인한 후 애플리케이션은 새 DirectX 버전 10 API를 사용하여 그래픽 메모리 번호를 가져올 수 있습니다. 애플리케이션은 Dxgi.h에 있고 DirectX SDK(소프트웨어 개발 키트)에 포함된 다음 DXGI_ADAPTER_DESC 데이터 구조에서 그래픽 메모리 번호를 가져옵니다.

    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;
    

Windows Vista 및 이후 데스크톱 및 DirectX 게임에서 그래픽을 광범위하게 사용하기 때문에 Windows Vista 이상에서 실행되는 소프트웨어는 사용 가능한 그래픽 메모리의 양을 정확하게 확인할 수 있어야 합니다. WDDM은 그래픽 메모리의 가상화 자체를 관리하고 그래픽 메모리의 다양한 측면을 정확하게 보고합니다. 애플리케이션 개발자 및 소프트웨어 공급업체는 Windows Vista 디스플레이 드라이버가 있는 컴퓨터에서 정확한 그래픽 메모리 값 집합을 검색하기 위해 DirectX 버전 10 API를 활용해야 합니다.