我是一个使用带有SDL和OpenGL的C++开发应用程序的团队的成员。

在笔记本电脑上,当运行该应用程序时,未使用专用图形卡,并且GL上下文无法创建,因为集成图形卡不支持我们想要的GL版本。

我觉得这个问题是特定于笔记本电脑的问题,而不是我们可以通过代码解决的问题。但是,如果有人知道是否有很好的解决方案。

最佳答案

它使用NVidia专用图形吗? AFAIK,自动从集成切换到专用的过程基于应用程序配置文件。您的应用程序不在已知3D应用程序的驱动程序列表中,因此用户必须手动切换到专用GPU。

尝试将应用程序的可执行文件名称更改为驱动程序所需的名称。例如“Doom3.exe”。如果可行,那么您已经找到了问题。

如果那没有帮助,请尝试按照此视频中的说明进行操作,以了解如何使驱动程序将应用程序插入其3D应用程序列表中:

http://www.frequency.com/video/how-to-whitelist-game-with-nvidias/24814032

但是以上内容仅用于验证这是否确实是您的问题。对于此问题的实际解决方案,应咨询图形驱动程序供应商(AMD和NVidia)以最佳方式将应用程序配置文件插入其列表中。 NVidia提供NVAPI,而AMD提供ADLAGS。他们绝对值得研究。

关于c++ - 强制机器使用专用图形卡?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16823372/

10-10 10:31