现在一般电脑都设置有双显卡,然而有些程序需要跑在独显或者集显等固定显卡上,这就需要更改电脑的设置,设置方法可以参考如下所示:
NVIDIA双显卡如何指定程序使用显示设置-百度经验 (baidu.com)
但是这种需要手动设置,影响体验,如果你希望自己的程序跑在固定的显卡上而不被用户察觉,可以用程序设置环境变量,在跑你的程序之前先设置环境变量,然后在程序的末尾将环境变量置空
#ifdef ENABLE_NVIDIA
const WCHAR value[] = L"0x800000001"; //独显
#else
const WCHAR value[] = L"0x800000000"; //集成显卡
#endif
//设置环境变量
SetEnvironmentVariable(L"SHIM_MCCOMPAT", value);
{
//自己的程序
。。。。。。。。。
}
//将设置恢复
SetEnvironmentVariable(L"SHIM_MCCOMPAT", nullptr);