【发布时间】:2017-07-03 21:45:45
【问题描述】:
我想知道 OpenGL 或 Win32 中的显卡型号名称,因为我在特定类型的显卡上存在内存泄漏错误(仅 Intel HD 而不是所有 Intel)。
这是错误:https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel/topic/280679
OpenGL 中的供应商名称是不够的。有人知道获取图形卡名称的方法与使用 Direct3D 不同吗?或者你认为我可以同时使用 D3D 和 OpenGL 吗? Get the graphics card model?
【问题讨论】:
-
确定安装的GPU类型的万无一失的方法是直接枚举硬件。在 Linux 中,您要么调用
lspci并解析其输出,要么遍历/sys/bus/pci/devices/*寻找所有属于0x030000类的设备(图形控制器)。我的 Google-Fu 未能在现代 Windows 机器上找到合适的 API。它当然不是 Win32 API 的一部分,并且会随着 Windows 驱动程序编程模型的每一次变化而变化。 -
该方法不是万无一失的,因为它不能保证安装的设备被应用程序使用并且在请求的上下文中。驱动程序问题或软件切换可能会阻止这种情况。在具有多个显卡的笔记本电脑上,安装了强大的显卡但未使用的情况很常见。
-
不相关,但是 uhhhhh.... 英特尔论坛帖子中的两个人真的花时间尝试帮助 SEO 机器人吗?
标签: c++ winapi opengl directx gpu