gpt4 book ai didi

c++ - 当前渲染视频卡

转载 作者:行者123 更新时间:2023-12-01 14:55:30 24 4
gpt4 key购买 nike

我想获取有关当前正在运行的视频卡的信息。
基本上我的问题是如何从openGL 字符串GL_RENDERER 中获取设备ID。

我在 window 上。

我使用了 directx 函数 GetAdapterIdentifier( qt usage example see GpuDescription::detect() )。它适用于英伟达。如果我为我的应用程序手动切换视频卡 D3DADAPTER_IDENTIFIER9 具有正确的设备 ID。但是当我使用 amd radeon 时,这种方法失败了。 D3DADAPTER_IDENTIFIER9 仅包含我的集成显卡的信息(即使更改后)。但 OpenGL 字符串(GL_RENDERER)正确检测我的应用程序的视频卡配置。

因此如何安全地从 GL_RENDERER 获取 deviceid?有了 deviceid,我就可以获得我想要的任何信息。但问题是 GL_RENDERER 是一个字符串,我无法将它与任何其他系统字符串匹配。

最佳答案

您应该使用名为 EnumDisplayDevicesA 的 Win32 函数.使用它,您可以获得所有显示设备的列表,其名称和当前状态存储在 DISPLAY_DEVICEA 的实例中结构体。然后,在用户选择使用哪一个 GPU 后,您可以通过 CreateDCA 为该 GPU 指定设备上下文。称呼。如果此函数成功,您可以通过 wglCreateContext 继续创建 OpenGL 上下文。 (但在设置像素格式等之前,您可以阅读更多关于创建 OpenGL 上下文 here 的内容。

希望对你有所帮助。

关于c++ - 当前渲染视频卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com