Windows 8 对 DirectX(特别是 Direct 3D)管道有任何改变吗?

Windows 8 对 DirectX(特别是 Direct 3D)管道有任何改变吗?

Windows Vista 引入了 DirectX 10,从而破坏了与专为 DirectX 10 设计的应用程序/游戏的兼容性。

Windows 8 是否引入了此类 API,从而破坏了兼容性?我知道Metro UI Modern UI 应用就是这样一种变化,我从 3D 应用/游戏的角度来看待它

具体来说:我问的是 DirectX 是否有所变化,以便任何“专门”针对 Windows 8 的游戏/应用程序都可以在 Windows 7 上运行。

答案1

Windows 8 运行 DX 11.1,这是一个小版本。任何在 DX 11.1 上运行的东西应该显然可以在 DX11 上运行。技术细节在这里但这超出了我的理解范围。

现在,这篇来自边缘的文章有点易于理解和消化结合上述开发人员说明,我们可以看到更大的图景——DX11.1 的主要目标似乎是性能优化和更好地利用通用图形渲染,而不是重大变化。除了 ModernUI/winrt 应用程序的明显情况外,可能不会出现任何问题。

答案2

MSDN 博客说:

Direct3D 11.1 作为通用基础

虽然添加 Direct2D 效果等新功能是帮助开发人员提供新体验的好方法,但我们也在研究如何更轻松地使用现有的 DirectX 功能。

经过多年的开发,我们为 DirectX 添加了各种不同的功能。视频解码的硬件加速与 Direct3D 9 中的可编程着色器一起出现。在 Windows 7 中,我们添加了 Direct2D 并将其构建在 Direct3D 10 之上。当时,我们还创建了 DirectCompute,这是一个用于 GPU 高性能计算的新系统,它成为了 Direct3D 11 的一部分。所有这些更新的一个结果是 DirectX 拥有一套非常全面的图形和 GPU 计算功能,但作为副作用,创建一款同时使用视频、2D 图形、3D 图形、文本和 DirectCompute 的应用也变得越来越困难。

在 Windows 8 中,新的 Direct3D 11.1 API 是 2D 图形和文本、图像处理、3D 图形和计算以及视频硬件加速的基础。新的 API 使在单个场景中混合不同类型的内容变得更加简单,因为该单个 API 现在管理与渲染相关的所有 GPU 资源。这还通过消除在应用程序代码中创建多个图形设备管理对象所涉及的冗余来减少内存使用量。此外,Direct3D 11.1 为应用程序提供了一种统一的方式来访问不同图形硬件的各种功能。它为应用程序提供了确定哪些功能可用的机制,然后仅使用这些功能。这使应用程序能够最大限度地利用 GPU 的功能,无论 GPU 是为平板电脑上的长电池寿命而设计的,还是为台式电脑上的高端游戏而设计的。

答案3

JourneymanGeek 的答案对于技术细节很有用,请参阅链接页面这里这里。我尝试从最终结果的角度来解决这个问题。
使用这些功能的游戏能在 Windows 7/8 上运行吗?


关于为 Windows 8 设计的新游戏在 Windows 7 上运行,请参阅以下文章:

http://hardocp.com/article/2011/12/22/amd_radeon_hd_7970_video_card_review/

以及相关引述:

DX11.1 将出现在 Windows 8 中,微软将向 Windows 7 用户提供下载。

我不知道该信息的原始来源,但它看起来似乎是合法的。

我们从中可以得出的结论是,即使桌面只要您在 Windows 7 上下载 DX 更新,利用 DX11.1 新功能的游戏/应用程序仍可运行。


关于为早期版本的 Windows 设计的旧游戏在 Windows 8 上运行, 见下文:

似乎有一些重大变化,我发现一些旧游戏无法运行的报告,下面的网站看起来相当客观(原谅配色方案):

--无效链接已删除--

更多信息:——无效链接已删除——

根据这个问题:Steam 可以在 Windows 8 上运行吗?steam 确实可以工作,尽管尚未得到官方支持。

答案4

Direct3D 11 运行时引入了 Direct3D 9、10 和 10.1“功能级别”,兼容模式仅允许使用指定版本的 Direct3D 中定义的硬件功能。

对于 Direct3D 9 硬件,有三个不同的功能级别,按“低端”、“中端”和“高端”显卡的常见功能分组;运行时直接使用所有 WDDM 驱动程序中提供的 Direct3D 9 DDI。

相关内容