gpt4 book ai didi

c# - 以编程方式选择用于 DirectX 渲染的最佳显卡

转载 作者:可可西里 更新时间:2023-11-01 10:17:03 24 4
gpt4 key购买 nike

我正在开发一种产品,该产品使用 DirectX 渲染一些更密集的图像。到目前为止,我知道有些计算机有多个 GPU,我通过以下方法找到具有最大 AdapterRam 的 GPU 来选择要渲染的 GPU:

using ( ManagementObjectSearcher searcher = new ManagementObjectSearcher( "select * from Win32_VideoController" ) ) {
foreach ( ManagementObject mo in searcher.Get() ) {
var adapterRam = mo.Properties[ "AdapterRAM" ].Value;
//Use this one if it is the largest
}
}

我有一些用户遇到了一个问题,他们有一个集成的 Intel 视频卡,它谎报了它有多少 AdapterRAM,所以它被选中了。我认为它报告了一些已分配的系统 RAM。事实证明,绘图操作对于这张卡来说过于密集,并且会导致视频驱动程序崩溃。这台计算机确实有一张功能完美的 Nvidia 卡,应该是被选中的那张。

我认为解决此问题的一个好方法是永远不要选择集成卡而不是已安装的卡,但我还没有找到一种方法来以编程方式确定卡是否已集成。

有什么方法可以检测卡是否已集成还是已安装?

是否有更好的方法来选择哪个 GPU 更优越?

最佳答案

Microsoft 编程指南中介绍了 DirectX 枚举适配器的方法 https://msdn.microsoft.com/en-us/library/windows/desktop/ff476877(v=vs.85).aspx .我不建议使用 Windows 管理对象来执行此操作。

生成的 IDXGIAdapter 接口(interface)包含适配器的所有功能,识别集成适配器的方法在这篇文章中介绍 https://gamedev.stackexchange.com/questions/61938/how-to-check-if-user-has-integrated-graphics-card不幸的是,它得出的结论是您必须知道您希望避免使用的适配器的硬件 ID - 没有任何设置可以告诉您它是否集成。

关于c# - 以编程方式选择用于 DirectX 渲染的最佳显卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37624066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com