Chr*_*bek 21
从C++中确保使用专用图形卡而不是Windows下芯片组可切换图形的最简单方法是导出以下符号(MSVC示例代码):
extern "C"
{
__declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;
}
Run Code Online (Sandbox Code Playgroud)
extern "C"
{
__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}
Run Code Online (Sandbox Code Playgroud)
警告:如果用户为应用程序创建了一个使用集成芯片组的配置文件,那么这些将无效.
我不确定这在Linux/MacOS下是否会起作用(不太可能).
它使用 NVidia 专用显卡吗?AFAIK,从集成自动切换到专用的过程是基于应用程序配置文件的。您的应用程序不在驱动程序的已知 3D 应用程序列表中,因此用户必须手动切换到专用 GPU。
尝试将应用程序的可执行文件名称更改为驱动程序查找的名称。例如“Doom3.exe”。如果有效,那么您就找到了问题。
如果这没有帮助,请尝试按照有关如何使驱动程序将您的应用程序插入其 3D 应用程序列表中的说明进行操作:
但以上只是为了验证这是否确实是您的问题。对于此问题的实际解决方案,您应该咨询图形驱动程序供应商(AMD 和 NVidia),了解将应用程序的配置文件插入到他们的列表中的最佳方法。NVidia提供NVAPI,AMD提供ADL和AGS。它们绝对值得研究。
| 归档时间: |
|
| 查看次数: |
10398 次 |
| 最近记录: |