2009-07-07 34 views
7

Tôi đã tự hỏi làm thế nào tôi có thể nhận được mô hình card đồ họa/thương hiệu từ mã đặc biệt từ DirectX 9.0c (từ trong mã C + +).Lấy mẫu cạc đồ họa?

Trả lời

5

Khi chạy, bạn có thể truy vấn các kiểu thiết bị và nhà cung cấp:

  • Trong OpenGL, sử dụng glGetString lệnh (GL_VENDOR) hoặc GL_RENDERER hoặc GL_VERSION để có được những thông tin mà bạn đang theo đuổi.

  • Trong DirectX 9, có vẻ thông tin nằm trong hệ thống cấu hình Microsoft và được truy vấn từ cơ sở dữ liệu thiết bị. Đó là phần 3 của tài liệu này, mà còn có mã ví dụ: http://msdn.microsoft.com/en-us/library/bb204848(VS.85).aspx Sử dụng cùng một hệ thống bạn có thể nhận được các thông tin như số lượng ram card màn hình có, số lượng lái xe, vv

8

Cách đơn giản nhất trong DirectX là thông qua IDirect3D9::GetAdapterIdentifier.

Chỉ cần tạo đối tượng D3DADAPTER_IDENTIFIER9, chuyển con trỏ đến nó tới GetAdapterIdentifier. DirectX điền vào mô tả thẻ đồ họa dưới dạng một chuỗi trong trường Mô tả. Nó cũng bao gồm thông tin về thiết bị hiển thị của thẻ và phiên bản trình điều khiển nào bạn có.

Bạn nhận được một cái gì đó như thế này:

  • Mô tả: "NVIDIA GeForce GTX 570"
  • Device: "\ \ DISPLAY1."
  • Driver: "nvd3dum.dll"
+0

Cảm ơn đã nhận được thông tin tôi cần và rất hữu ích, không chắc chắn tại sao đây không phải là câu trả lời được chấp nhận. –

+0

... bởi vì ba năm sau đó. :) – Decker