【发布时间】:2017-10-25 18:29:49
【问题描述】:
我想我知道它应该如何工作——只是它不知道。我有一台 860m 和 intel 集成卡的联想笔记本电脑。
我可以使用两个 gpu 从外部运行我的应用程序,一切正常:所选 gpu 将是索引为 0 的适配器,它将笔记本电脑屏幕作为输出,等等。
但是,如果我尝试使用索引为 1 的适配器(如果我正常运行应用程序,那就是 nvidia,如果我使用 nvidia gpu 运行它,那就是 intel),IDXGIOutput::EnumOutputs 找不到任何东西,所以我无法正确配置显示设置。
我正在考虑简单地跳过配置,或者使用来自另一个适配器的输出 - 但是没有办法过滤掉没有实际输出的适配器 - 例如我的电脑也有集成卡,但它没有物理连接显示器,所以应该无法使用。
我还试图找到“使用图形处理器运行”上下文菜单按钮的确切作用,但我找不到任何东西。
目标是让用户能够在应用程序中选择适配器,他/她的选择被保存到配置文件中,并在重新启动后使用 - 但我找不到过滤可能的适配器的方法。
【问题讨论】:
-
我想我以前试过这个,我记得,我没能做到。我不是 100% 确定(这就是我将其发布为评论的原因),但我认为它与硬件相关,一旦你全屏启动它,它会自动切换到 nvidia 卡。此外,您可以转到 nvidia 控制面板并为您的应用设置最高性能,它将始终在 nvidia 卡上运行。
-
欢迎来到 Stack Overflow!请edit您的问题显示the code you have so far。您应该至少包含您遇到问题的代码的大纲(但最好是minimal reproducible example),然后我们可以尝试帮助解决具体问题。您还应该阅读How to Ask。
标签: c++ gpu directx-11 display