Direct X 11에서 그래픽 카드의 정보 가져오는 예제

by digipine posted Aug 27, 2024
?

Shortcut

PrevPrev Article

NextNext Article

ESCClose

Larger Font Smaller Font Up Down Go comment Print

Windows에서 그래픽 카드의 종류를 확인하는 C++ 코드는 DirectX API를 이용할 수 있습니다. 다음은 DirectX 11을 사용하여 그래픽 카드 정보를 얻는 예제 코드입니다:

 



#include 
#include 
#include 

#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "dxgi.lib")

void GetGraphicsCardInfo() {
    IDXGIFactory* pFactory = nullptr;
    if (FAILED(CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)&pFactory))) {
        std::cerr << "Failed to create DXGIFactory." << std::endl;
        return;
    }

    IDXGIAdapter* pAdapter = nullptr;
    for (UINT i = 0; pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND; ++i) {
        DXGI_ADAPTER_DESC adapterDesc;
        pAdapter->GetDesc(&adapterDesc);

        std::wcout << L"Graphics Card " << i << L": " << adapterDesc.Description << std::endl;
        std::wcout << L"Dedicated Video Memory: " << adapterDesc.DedicatedVideoMemory / (1024 * 1024) << L" MB" << std::endl;
        std::wcout << L"Dedicated System Memory: " << adapterDesc.DedicatedSystemMemory / (1024 * 1024) << L" MB" << std::endl;
        std::wcout << L"Shared System Memory: " << adapterDesc.SharedSystemMemory / (1024 * 1024) << L" MB" << std::endl;

        pAdapter->Release();
    }

    pFactory->Release();
}

int main() {
    GetGraphicsCardInfo();
    return 0;
}

이 코드는 DirectX 11 라이브러리를 사용하여 시스템에 설치된 모든 그래픽 카드를 열거하고, 각각의 그래픽 카드에 대한 정보를 출력합니다.

  1. IDXGIFactory 인터페이스를 생성합니다.
  2. EnumAdapters 메서드를 사용하여 시스템의 모든 그래픽 카드를 열거합니다.
  3. 각 그래픽 카드에 대해 GetDesc 메서드를 호출하여 DXGI_ADAPTER_DESC 구조체를 채웁니다.
  4. 그래픽 카드의 이름과 메모리 정보를 출력합니다.

위 코드를 컴파일하려면 Visual Studio와 같은 C++ 개발 환경에서 DirectX SDK가 필요합니다.

좀 더 자세한 정보는 DirectX SDK를 참조하세요.

 

 

NVIDIA 그래픽 카드 라인업

GeForce 시리즈

  • GeForce RTX 40 시리즈 (Ada Lovelace 아키텍처)

    • RTX 4090
    • RTX 4080
    • RTX 4070 Ti
    • RTX 4070
    • RTX 4060 Ti
    • RTX 4060
  • GeForce RTX 30 시리즈 (Ampere 아키텍처)

    • RTX 3090 Ti
    • RTX 3090
    • RTX 3080 Ti
    • RTX 3080
    • RTX 3070 Ti
    • RTX 3070
    • RTX 3060 Ti
    • RTX 3060
    • RTX 3050
  • GeForce RTX 20 시리즈 (Turing 아키텍처)

    • RTX 2080 Ti
    • RTX 2080 Super
    • RTX 2080
    • RTX 2070 Super
    • RTX 2070
    • RTX 2060 Super
    • RTX 2060

Quadro 시리즈 (전문 작업용)

  • Quadro RTX 8000
  • Quadro RTX 6000
  • Quadro RTX 5000
  • Quadro RTX 4000

AMD 그래픽 카드 라인업

Radeon RX 시리즈

  • Radeon RX 7000 시리즈 (RDNA 3 아키텍처)

    • RX 7900 XTX
    • RX 7900 XT
  • Radeon RX 6000 시리즈 (RDNA 2 아키텍처)

    • RX 6900 XT
    • RX 6800 XT
    • RX 6800
    • RX 6700 XT
    • RX 6600 XT
    • RX 6600
    • RX 6500 XT
    • RX 6400
  • Radeon RX 5000 시리즈 (RDNA 1 아키텍처)

    • RX 5700 XT
    • RX 5700
    • RX 5600 XT
    • RX 5500 XT

Radeon Pro 시리즈 (전문 작업용)

  • Radeon Pro W5700
  • Radeon Pro W5500
  • Radeon Pro W5700X (Mac Pro용)

이 외에도 인텔에서 출시한 GPU도 있으며, 최근에는 인텔 Arc 시리즈가 발표되었습니다.

Intel 그래픽 카드 라인업

Intel Arc 시리즈

  • Arc A770
  • Arc A750
  • Arc A580
  • Arc A380
TAG •

Articles

1 2 3 4 5 6