我编写了一个使用 DirectX 11 的程序。创建设备时,我使用功能级别 9.0c(具体来说是 D3D_FEATURE_LEVEL_9_3)。
我对功能级别的初步理解是,选择一个可以让程序与显卡兼容,显卡不支持更高版本的 DirectX。
据我所知,DirectX 11 可能没有安装在 Windows Vista 上(至少没有正式安装),但想象一下,当所有图形功能在 Windows Vista 上运行时,我是多么惊讶。
问题是:为什么?如何?DirectX 11 是否如此智能,以至于在没有 11 个可用的情况下使用 DirectX 9 二进制文件?这可能是 DirectX 10 的功能吗?也许微软启用了对 DirectX 11 的 Vista 支持?一定有什么,我不相信这种巧合……
MSDN 对此事保持沉默。或者至少我找不到合适的话题。
对此有何解释?