C++如何检测显卡型号

标签 c++ gpu detect

我正在编写一个应用程序,如果有可用的图形卡,该应用程序可以大大加快速度。

我已获得必要的 DLL,使我的应用程序能够使用 NVIDIA 和 AMD 卡。但它需要使用特定的命令行参数启动,具体取决于哪张卡可用。

我想制作一个安装程序来检测特定品牌的 GPU,然后使用必要的命令行参数启动真正的应用程序。

检测卡类型的最佳方法是什么?

最佳答案

您必须在运行时使用 OpenGL 检测它。使用命令 glGetString(GL_VENDOR)GL_VERSION

使用 Direct3D 9 API 执行此操作:

第一步 D3DADAPTER_IDENTIFIER 适配器标识符;

第 2 步 m_pD3D->GetAdapterIdentifier(D3DADAPTER_DEFAULT, 0, &AdapterIdentifier);

第三步 获取显卡标识符字符串的最大长度 const int cch = sizeof(AdapterIdentifier.Description);

第 4 步 定义一个 TCHAR 来保存描述 TCHAR szDescription[cch];

第 5 步 使用 unicode DX 实用程序将 char 字符串转换为 TCHAR DXUtil_ConvertAnsiStringToGenericCch( szDescription, AdapterIdentifier.Description, cch );

致谢:Anonymous_Poster_* @ http://www.gamedev.net/topic/358770-obtain-video-card-name-size-etc-in-c/

关于C++如何检测显卡型号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40444046/

相关文章:

c++ - 什么相当于 Linux 中的 Win32 消息泵?

python - 支持 GPU 的 Python CNTK 2.0 在 Anaconda 3 4.4.0、Windows 10 Pro 64 位中似乎因 100% CPU 线程工作负载而挂起

r - 检测字符串是否按特定顺序出现

ios - 矩形检测只检测大矩形而不是小矩形? iOS, swift

Android:检测短信传出,计数不正确

c++ - 打印同一类的 3 个对象

c++ - 无法在 C++ 头文件中创建数组?

macos - 如何在 Cocoa 中禁止 Macbook Pro 切换到高性能显卡?

c++ - 为什么我不能创建这样的模板函数?

ffmpeg - 通过 FFMPEG 监控 GPU 使用情况