win7纯净版 Win10纯净版 Win8系统 最新win10下载 Win10 21h1 Win11 22H2 win10激活

您当前所在位置:首页 > 系统教程 > 游戏攻略

       

用于游戏控制器的 DirectInput 与 XInput:有什么区别?

时间:2022-04-25 08:14:18     来源:系统堂     游览量:

  用于游戏控制器的 DirectInput 与 XInput:有什么区别?

  如果您将USB 或无线游戏控制器连接到 Windows PC,您可能会遇到“DirectInput”和“XInput”等术语。但它们是什么意思,有什么区别?我们会解释的。

  它们是 Microsoft 游戏控制器 API

  在计算中,API 是一种应用程序编程接口,它是两个程序可以相互通信的标准化方式。在这种情况下,当您将控制器连接到 PC 时,Windows 会连接到控制器硬件,然后 API 允许游戏以标准化方式读取控制器的输入。这让 Windows 游戏可以轻松支持许多不同类型的控制器,而不是使用拼凑而成的自定义控制器驱动程序和接口。

用于游戏控制器的 DirectInput 与 XInput:有什么区别?

  Windows 中的两个主要游戏输入 API 称为 DirectInput 和 XInput。换句话说,这些 API 就像游戏控制器可能会说的两种不同的语言。一些控制器只能说一种“语言”(XInput 或 DirectInput),而另一些控制器可以在不同模式下“说”两种 API。如果游戏需要 XInput 但控制器只“说” DirectInput,则该控制器将无法与该游戏一起使用,反之亦然。

  以下是每个人的起源的快速浏览:

  • DirectInput:此游戏输入 API 于 1995 年首次作为DirectX 1.0 的一部分出现,用于 Windows 95 上的游戏,然后在 Windows 的后续版本中得到支持。这是 2005 年之前发布的许多 PC 游戏控制器以及之后的一些控制器(和复古控制器适配器)支持的传统接口。

  • XInput:此 API 于 2005 年推出,作为在 Windows 上支持Xbox 360 控制器的一种方式。Xbox One和Xbox Series X|S 控制器目前也在 Windows 上使用 XInput。XInput 起源于 Xbox 控制器专用 API,但现在许多第三方控制器(不是由 Microsoft 制造)也支持它。这意味着他们将使用编程为使用 Xinput 的游戏。

  这两个 API 做类似的事情,但 DirectInput 比 XInput 更早,并且已被Microsoft弃用。不过,DirectInput 支持 XInput 不支持的一些功能,这也是该标准仍在使用的部分原因。在下面的部分中,我们将更详细地比较和对比这两个标准。

  区别:DirectInput 与 XInput

  尽管 XInput 已经存在 17 年了,但一些现代游戏仍然支持DirectInput 控制器。一个原因是因为那里有大量的旧控制器安装基础,有些人仍然喜欢使用。

  此外,DirectInput 支持比 XInput 更多的输入(DirectInput 为 8 轴、128 个按钮和 POV,而 XInput 为 4 轴和 10 个按钮、两个触发器和方向键),这对于复杂的模拟游戏非常方便,例如飞行模拟器和一些赛车游戏,人们在其中构建复杂的驾驶舱控制设置。此外,Xinput 仅支持四个控制器。如果您需要更多,DirectInput 是您的最佳选择。

  XInput 相对于 DirectInput 的优势主要体现在开发人员方面。微软表示XInput “更易于使用”并且对程序员的设置要求更少。制作 Xbox 游戏的游戏开发人员可以更轻松地将游戏转换到具有 Xbox 控制器支持的 Windows。此外,Xbox 控制器仅通过 XInput 振动,API 将触发按钮作为两个单独的输入处理,而不是 DirectInput 上的单个正/负轴。

  在 XInput 的另一个胜利中,API 将自动理解控制器的布局,而无需手动将每个按钮绑定到游戏中的功能。使用 DirectInput,游戏不必采用控制器的形状或布局。借助 XInput,游戏使用标准的 Xbox 风格控制方案,该方案普遍映射到每个游戏,类似于Xbox 游戏机。

  一般来说,Windows 游戏的未来在于 XInput,但与许多传统的 Windows 技术一样,DirectInput 继续坚持用于小众用例。幸运的是,如果您有一个最喜欢的 DirectInput 控制器,并且您想在纯 XInput 游戏中使用它,您可以使用诸如x360ce之类的实用程序来使其适应 XInput。快乐游戏!

上一篇:玩pc游戏有什么技巧_教你如何提高 PC 游戏中的 FPS?
下一篇:Halo Infinite 第 2 季现已推出新地图、Xbox 刷新率等