在 Optimus 笔记本电脑中以编程方式强制使用 NVIDIA GPU

2024-02-10

我正在编写 DirectX 游戏,当我在 Optimus 笔记本电脑上运行它时,会使用 Intel GPU,导致性能非常糟糕。如果我使用上下文菜单或将可执行文件重命名为 bf3.exe 或其他一些著名的游戏可执行文件名称来强制使用 NVIDIA GPU,性能将达到预期。
显然,当我必须重新分发游戏时,这两种解决方案都不是可接受的解决方案,那么有没有办法以编程方式强制笔记本电脑使用 NVIDIA GPU?

我已经尝试使用 DirectX 枚举适配器(IDirect3D9::GetAdapterCount、IDirect3D9::GetAdapterIdentifier),但它不起作用:仅报告 1 个 GPU(正在使用的 GPU)。


根据http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf从 302 驱动程序开始,静态链接以下库之一就足够了:vcamp110.dll, vcamp110d.dll, nvapi.dll, nvapi64.dll, opencl.dll, nvcuda.dll, 库达特*.*,或在程序中导出 NvOptimusEnablement 变量:

extern "C" {
    _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Optimus 笔记本电脑中以编程方式强制使用 NVIDIA GPU 的相关文章

随机推荐