0

我想用 DirectX 制作一个 2D 桌面 GUI 应用程序,但我不知道要使用哪个版本。我最初尝试过 Direct2D,但它从未真正流行起来,因此与 DirectX 的其余部分相比,它没有很多社区支持或文档,所以它不是一个选择。

所以我有三个选择:

  1. DirectX 9.0c
  2. DirectX 10
  3. DirectX 11(不是 11.1,我没有安装 Windows 8)

我的一位知识渊博的朋友强烈鼓励 DirectX 9.0c,说这就是我所需要的,但我对使用一个已有 8 年历史的平台持谨慎态度。微软几乎是遗留支持的顶峰,但我认为他们必须有一个限制。我不知道DX10和DX11之间的区别。

请记住,我是一个新手程序员,所以这主要是一个学习项目。

任何建议表示赞赏!

编辑:我也很感激有关版本之间功能或编程范式的任何重大差异的建议。

4

4 回答 4

1

Microsoft 的主要承诺是对其 Windows 客户。谁仍然使用当时使用的任何 DirectX 版本运行 15 年的游戏。IDirectDraw 活得很好。显然,作为开发人员,您将从中受益。当然,DX 9 得到了最广泛的硬件支持,因此这是一个绝佳的选择。如果您的游戏在旧硬件上表现不佳,请考虑更高的选择,DX 版本是一个自动选择器。

于 2012-04-08T17:11:47.063 回答
1

我应该使用什么版本的 DirectX 来制作 2D 桌面 GUI 应用程序?

DirectX 9,因为您将获得更多用户。

我的一位知识渊博的朋友强烈鼓励 DirectX 9.0c,说这就是我所需要的,但我对使用一个已有 8 年历史的平台持谨慎态度。

许多 DirectX 7 和 DirectX 5 游戏仍然可以正常运行,更不用说使用 DirectDraw 的游戏了。所以使用 8 年的平台没有问题。使用更新(比 9)的版本甚至可能对您没有好处,因此盲目地追求更高的版本号并不是一个好主意。

根据您的情况,您也可以考虑使用 OpenGL,但只有当您的应用程序必须是跨平台的时,这种选择才有意义。如果您知道该应用程序将仅适用于 Windows,那么选择 DirectX 9 是有意义的。

于 2012-04-08T17:42:00.340 回答
1

你写这篇文章是为了工作,还是为了好玩?

如果是为了工作,那么您必须遵循业务或营销人员定义的最低系统要求。如果您的最低操作系统可以是带平台更新的 Win7 或 Vista SP2,那么 Direct2D 是一个可行的选择。否则,DX9 是您必须走的路。

如果它是为了您个人时间的乐趣,那么做任何您认为最有趣的事情 :) 如果您只想制作 2D 图形,Direct2D 肯定会更容易使用。我不会太担心“它没有获得普及/社区支持”的角度,特别是因为现在所有主要的桌面应用程序(Firefox、Internet Explorer 甚至下一版本的 Paint.NET)都在使用它。此外,Win8 将使用一大堆有趣的新功能更新 Direct2D(据我了解,此更新也将适用于 Win7)。

起初使用 Direct2D 可能很笨拙,但这主要是由于所有 COM 的东西。一旦您习惯了它并建立了自己的小型实用程序库,它实际上并不比 GDI+ 复杂。事实上,我已经能够将一堆旧的 GDI+ 代码移植到使用 Direct2D/DirectWrite 并且通常只是逐行替换,例如 SolidBrush -> SolidColorBrush(这是在 Paint.NET 4.0 代码库中,顺便提一句)。

于 2012-04-10T19:14:34.073 回答
1

我使用 Direct 2D 来渲染函数图,它非常易于使用 - 我会说,就像 GDI+ 一样简单。我猜,DirectX 11 和 DirectX 9 的复杂程度(在 2D 图形方面)非常相似,所以不用担心。

DirectX 9.0 可以在(比如说)所有现代计算机上运行,​​并且 11 将您限制为 Windows Vista(带有平台包)和 Windows 7。不过,考虑到 Windows XP 最终会消失而 DirectX 会发展,所以我不是当然,值得将您的时间投入到不再开发的技术上。那么我建议使用 DirectX 11 的 Direct2D。

于 2012-04-11T06:15:27.503 回答