有什么方法可以在 NVIDIA 显卡上 运行 程序调试 Visual Studio 吗?

Any ways to run program debugging in Visual Studio on NVIDIA graphics card?

我有集成了 Intel 和 NVIDIA 显卡的笔记本电脑,我想 运行 我的程序(用 C# 和 .NET 编写)在 NVIDIA 卡上 Visual Studio 2013 Community Edition 中调试,作为我的程序广泛适用于 OpenGL,英特尔卡不支持最新的 OpenGL 功能。但默认设置程序 运行s 在 Intel 卡上。

我试过在 NVIDIA 设置中为我的程序更改默认显卡,但程序重新编译设置后看起来像重置了。

那么,还有其他简单的方法可以运行在NVIDIA显卡上编程吗?也许有特殊的命令行参数或类似的东西?

最简单的方法是在程序的某处添加这段代码:

extern "C" {
    _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

有关详细信息,请查看此处:http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf

最简单的方法可能是将您的程序编译成 .NET DLL 并从用 C++/CLI 编写的可执行文件调用您的 Main 函数,该可执行文件导出 NvOptimusEnablement 变量,正如 Jerem 在另一篇文章中提到的回答。

经过几个小时的搜索,我在 http://drivenbynostalgia.com/files/SOP.cs

找到了解决方案

我想这比将整个项目移动到 dll 中并使用 C++/CLI 启动器要好。

我目前使用的是Visual Studio2017专业版,还需要用到OpenGL。正如@Omich 所说,在 NVIDIA 设置中更改 VS2017 的默认显卡不起作用。最后,我尝试 右键单击​​ "Visual Studio 2017" 快捷方式(或 devenv.exe,结果相同)和 select 选项“运行 with graphics processor->high performance NVIDIA processor”并且它可以正常工作。这种方法很简单,但是每次启动都要右击你的VS图标,感觉有点麻烦。

您可以使用 NVidia 控制面板应用程序。我相信它是在安装 NVidia 驱动程序时安装的,但我不太确定。启动它并:

Select 管理 3D 设置 -> 程序设置选项卡

  1. Select 要自定义的程序:单击“添加”按钮 找到您的可执行文件并单击添加 Selected 程序
  2. Select 首选图形处理器... Select 你的 NVidia 处理器

当您 运行 您的 exe 时,即使使用 Visual Studio 调试器,它也会使用选定的图形处理器。