gpt4 book ai didi

.NET 如何检测是否支持 DirectX 10?

转载 作者:行者123 更新时间:2023-12-01 02:39:04 38 4
gpt4 key购买 nike

我想从 .NET 代码中找出机器上是否支持 DirectX 10,最好不使用托管 DirectX 或 XNA 程序集。

先感谢您!

最佳答案

这实际上非常简单:如果您使用的是 Windows Vista/Server 2008 或更高版本,则您拥有“DirectX 10”API。如果您使用的是 Windows Vista/Server 2008 Service Pack 1 或更高版本,则您拥有“DirectX 10.1”API。

这些都没有回答更有用的问题:系统是否有兼容 DirectX 10 的视频设备和驱动程序?

真正检测到这一点的唯一可靠方法是创 build 备。如果可以 (a) 找到 D3D10.DLL (b) 调用 D3D10CreateDevice成功,那么您就有了 DirectX 10 API 和 10 兼容设备。

同样,如果您可以 (a) 找到 D3D10_1.DLL (b) 调用 D3D10CreateDevice1成功,那么您就有了 DirectX 10.1 API 和 10.0 或 10.1 兼容设备。

DirectX 11.0 或更高版本始终存在于 Windows 7/Server 2008 R2 或更高版本上。同样,如果您可以 (a) 找到 D3D11.DLL (b) 调用 D3D11CreateDevice成功,那么您就有了 DirectX 11 API 和一些 feature level 的 11 兼容设备. create device 的参数将确定允许的功能级别。此过程还可用于检测您在 Windows Vista/Server 2008 Service Pack 2 系统上使用 KB97644 的情况。已应用更新。

一旦你有 ID3D11Device您可以查询 ID3D11Device1 的接口(interface)查看系统是否有 DirectX 11.1(Windows 8/Server 2012 或 Windows 7/Server 2008 R2 与 KB2670838ID3D1Device2 以查看系统是否有 DirectX 11.2 (Windows 8.1/Server 2012 R2)

Direct3D 11 Deployment for Game Developers

“安装什么版本的 DirectX”的概念已经过时,可以追溯到 Windows 9x/ME 时代。运行“DirectX End-User Runtime Redist”会做一些事情,但它永远不会安装新版本的 DirectX。见 Not So DirectSetup . DirectX 运行时纯粹是 OS 补丁级别的功能,自 2004 年以来一直存在。见 What's in a version number?也是。

关于.NET 如何检测是否支持 DirectX 10?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2673928/

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