我使用P / invoke为XInput开发了一个.net库,现在我已准备好将它实现为gui(WPF)。
我已经看过BackgroundWorker类,并且已经将它作为1个控制器的测试工作,但它是一个黑客工作,显然它不适合2-4控制器(这主要是为了看到我需要做什么gui)。
所以我在这里问一些经验丰富的人,关于如何在这个应用程序中处理线程。我应该继续使用BackgroundWorker类还是在.net 4中查看TPL,还是其他方法?
工作线程是必需的,因为XInput没有消息传递系统,只有轮询系统。工作线程大约每20ms检查一次输入或类似的东西(Thread.Sleep)。我也不确定是否只有1个工作线程用于所有控制器或4个工作线程(最大控制器限制为4)。
我对WPF和.NET有点新意,所以欢迎任何建议:)
答案 0 :(得分:0)
轮询控制器不会过度处理器。我会说后台工作人员可以胜任这项工作,应该能够处理所有控制器。同时轮询每个控制器。