logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

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

by digipine posted Aug 27, 2024
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

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 •

List of Articles
No. Subject Author Date Views
112 OpenSSL Build for Windows digipine 2024.08.30 60
111 Rapid JSON 간단 사용법 digipine 2024.08.27 57
» Direct X 11에서 그래픽 카드의 정보 가져오는 예제 digipine 2024.08.27 93
109 Python Slack 메시지 발송하는 예제 digipine 2024.08.27 66
108 Python email 보내는 예제 코드 digipine 2024.08.27 57
107 UDP 핀홀 트래버설 과정 요약, UDP pinhole traversal digipine 2024.08.08 54
106 NAT 상태에서 P2P 통신하는 방법 digipine 2024.08.08 43
105 Windows Visual Studio 2022 OpenSSL Build 방법 1 digipine 2024.05.02 1253
104 Visual Studio 단축키 정리 digipine 2024.03.28 260
103 프로그래밍 언어 순위 2023년 file digipine 2023.10.30 336
102 이벤트 텍소노미(Event Taxonomy)란 무엇인가요? digipine 2023.08.11 433
101 Bitbucket에서 SSH 키 등록하고 사용하는 방법 (맥/리눅스) file lizard2019 2023.06.22 1641
100 FFServer RTSP Audio Server Config digipine 2023.05.12 399
99 OBS Studio for Http Interface EXE lizard2019 2023.02.15 404
98 xcode xib encountered an error communicating with ibagent-ios 해결 digipine 2022.10.06 688
97 XCode 사용시 git ignore 로 xcuserstate 충돌 해결하기, .gitignore에 등록했는데도 동작안할때 해결방법 lizard2019 2022.09.25 817
96 MAC Screen Sharing을 위한 VNC 접속을 위한 Port 변경 방법 digipine 2022.09.05 673
95 Phabricator Ubuntu Installation Guide digipine 2022.01.26 806
94 Remove all .git files, recursively digipine 2021.11.26 597
93 VSCode 에서 한글 특수문자 부분 만 검색하기 file digipine 2021.10.25 1002
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6