问题描述
我是使用 C++ 和 SDL 和 OpenGL 开发应用程序的团队的一员.
I am part of a team developing an application using C++ with SDL and OpenGL.
在笔记本电脑上,当应用程序运行时,不使用专用显卡并且 GL 上下文无法创建,因为集成显卡不支持我们想要的 GL 版本.
On laptops when the application is ran the dedicated graphics card is not used and the GL context fails to create because the integrated graphics card does not support the version of GL we want.
我有一种感觉,这个问题是相关笔记本电脑所特有的,而不是我们可以通过代码解决的问题.但是,如果有人知道是否有一个很好的解决方案.
I have a feeling that this problem is specific to the laptop in question and not something we can solve through code. But, if anyone knows if there is a solution that'd be great.
推荐答案
是否使用 NVidia 专用显卡?AFAIK,从集成自动切换到专用的过程是基于应用程序配置文件的.您的应用程序不在驱动程序的已知 3D 应用程序列表中,因此用户必须手动切换到专用 GPU.
Does it use NVidia dedicated graphics? AFAIK, the process of automatically switching from integrated to dedicated is based on application profiles. Your application is not in the driver's list of known 3D applications, and therefore the user has to manually switch to the dedicated GPU.
尝试将应用程序的可执行名称更改为驱动程序查找的名称.例如Doom3.exe".如果这样可行,那么您就找到了问题.
Try changing the executable name of your application to something the driver looks for. For example "Doom3.exe". If that works, then you've found your problem.
如果这没有帮助,请尝试按照此视频中的说明操作,了解如何让驱动程序将您的应用程序插入其 3D 应用程序列表:
If that didn't help, try following the instructions in this video on how to make the driver insert your application in its list of 3D apps:
http://www.frequency.com/视频/如何将白名单游戏与 nvidias/24814032
但以上仅用于验证这是否确实是您的问题.对于此问题的实际解决方案,您应该咨询图形驱动程序供应商(AMD 和 NVidia),了解将您的应用程序的配置文件插入他们的列表的最佳方式.NVidia 提供 NVAPI,AMD 提供 ADL 和 AGS.它们绝对值得研究.
But the above is only for verifying if this is indeed your problem. For an actual solution to this, you should check with the graphics drivers vendors (AMD and NVidia) on the best way to insert a profile for your application into their lists. NVidia provides NVAPI and AMD has ADL and AGS. They're definitely worth a study.
这篇关于强制机器使用专用显卡?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!