.NET 6下Microsoft GDK GameInput官方C#绑定可行性问询
GameInput API官方C#绑定及替代方案建议
背景概述
我是一名C#开发者,正计划将基于已停止支持的.NET Framework 4.5.2的旧应用迁移至.NET 6。此前使用的SharpDX.XInput最后更新于2018年8月24日,也在计划弃用。微软推荐GameInput作为所有新代码的首选API,它支持全微软平台且性能优于旧API,可通过可再发行安装包支持至Windows 7,适用于GDK、Win32及UWP应用。我的软件必须支持Windows Server 2019及以上、Windows 10 IoT 2019 LTSC(v1809)及以上版本,且已计划不再支持Windows 7。
核心问题解答
1. GameInput官方C#绑定的前景(含Windows Server支持)
目前微软尚未公开宣布将推出GameInput的官方C#绑定。从现有文档和产品路线来看,GameInput当前主要面向原生代码(C/C++)开发者,针对.NET生态的官方支持暂时没有明确时间表。
针对Windows Server的支持,GameInput本身的可再发行安装包并未排除Server系统,但由于Server系统并非游戏场景的主流平台,官方后续若推出C#绑定,是否专门针对Server做适配需要以微软官方公告为准。
2. 新代码开发的选择:等待官方绑定还是使用替代方案?
不建议等待官方绑定,理由如下:
- 替代方案成熟可用:
Windows.Gaming.Input:这是UWP原生的游戏输入API,已有稳定的.NET绑定(可通过NuGet获取相关包),能直接在.NET 6中使用。它完全支持你所需的Windows Server 2019+、Windows 10 IoT 2019 LTSC v1809+版本,功能覆盖大部分常见游戏输入场景,API设计更贴合.NET开发习惯。XInput:作为传统游戏手柄API,可通过P/Invoke(互操作)在.NET 6中直接调用原生接口,兼容性极强,适配你的目标系统版本毫无压力。虽然性能略逊于GameInput,但对于非极致性能要求的场景完全够用,且SharpDX.XInput的弃用不影响直接调用原生XInput。
- 时间成本可控:官方绑定的推出时间不确定,等待会延误迁移进度,而现有替代方案已能满足你的全部需求。
总结
优先选择Windows.Gaming.Input(直接使用现有.NET绑定)或XInput(通过P/Invoke调用原生接口)来替代SharpDX.XInput,无需等待GameInput的官方C#绑定。两者均能适配你的目标系统版本,确保迁移后的应用稳定运行。
内容的提问来源于stack exchange,提问作者user15641268
相关产品推荐
相关产品推荐

