我已经使用 P/invoke 为 XInput 开发了一个 .net 库,现在正准备将它实现到 gui (WPF) 中。
我已经查看了 BackgroundWorker 类,并将它作为 1 个控制器的测试,但它是一项黑客工作,显然它不适合 2-4 个控制器(这主要是为了看看我需要什么与gui有关)。
所以我在这里询问更多有经验的人,关于如何在这个应用程序中处理线程。我应该继续使用 BackgroundWorker 类还是查看 .net 4 中的 TPL 或其他方法?
工作线程是必需的,因为 XInput 没有消息系统,只有轮询系统。工作线程大约每 20 毫秒或类似的时间检查一次输入(Thread.Sleep)。我也不确定所有控制器是否应该只有 1 个工作线程或 4 个工作线程(最大控制器限制为 4)。
一般来说,我对 WPF 和 .NET 有点陌生,所以欢迎任何建议:)