我有一个XNA应用程序,我需要将输入队列重定向到自定义线程,而不是仅在主线程中可用。有没有替代AttachThreadInput?从辅助线程读取输入
回答
我在这方面做了一些探索,我认为你不会找到解决这个问题的好方法。这个post表明,如果你“创建一个新的输入类,在我的游戏主线程中注册这些事件,然后启动线程开始轮询,这可能是可能的。”从这两个线程(包括你在XNA论坛上开始的那个线程)的普遍共识向我表明,尝试将键盘输入发送到不同的线程可能不是最好的想法,并且如果可能的话,主线程应该只处理键盘输入,另一个线程可以读取来自主线程共享存储器的输入。另一种方法是主线程根据收到的输入信息告诉辅助线程执行某些功能。
Keyboard access from other thread
Keyboard Input on Another Thread
其中一个线程实际上是我的(giuseppemag),我希望更广泛的观众可能会添加一些东西:) – 2010-03-11 11:38:35
我不太清楚你问什么,但我会尽力回答。
如果你想创建一个多玩家游戏,并希望输入每个玩家由一个线程来处理,你必须做到以下几点:
创建与键盘的XNA对象/在你的应用程序
的主要 执行线程鼠标/游戏手柄通过引用传递对象到自定义的输入处理线程。与它们产卵的过程,所以从您的自定义线程内的对象所做的任何更改
线程共享内存将通过您引用的对象是线外的自动访问。
希望这会有所帮助。
不是这样,我只是建设一个游戏,其中更新和渲染实际上是单独的循环:更新是在另一个线程中完成的,而绘制仍然在主线程中。 我需要读取更新线程内的输入,以比较与更新循环迭代有关的读数。同步主线程的输入读取会增加很多开销,以至于完全失败了拥有两个线程的性能增益...... – 2010-03-11 11:40:49
- 1. LSTM模型辅助输入
- 2. NUnit辅助线程异常
- 3. 其他线程内的辅助线程
- 4. 从辅助线程写入核心数据
- 5. 读取线和字节[]从输入流
- 6. 与辅助线程相比,在辅助线程上崩溃是否有优势?
- 7. 从主线程或Web线程以外的线程获取Web锁定。 UIKit中不应该从辅助线程
- 8. 从辅助线程在主线程上调用UIPopoverViewController
- 9. 从辅助线程使用主线程的调用方法
- 10. ArcGIS Explorer:从辅助线程调用主线程
- 11. 从“输入”中读取“从”输入“
- 12. CakePHP的表单辅助输入日期
- 13. 在辅助线程上安排NSStream
- 14. OpenGL在辅助线程中渲染
- 15. 后台辅助线程问题
- 16. 通过javascript从MongoDB的辅助副本集读取
- 17. 从终端读取输入
- 18. 从标准输入读取
- 19. 从用户读取输入
- 20. 在辅助线程中获取下拉列表选择
- 21. iPhone - 在辅助线程上崩溃不影响主线程
- 22. 使用主线程而不是辅助线程回调委托?
- 23. 在辅助线程的主线程上执行App Delegate方法
- 24. 警告:不应从辅助线程调用UIKit
- 25. GTK的主循环可以从辅助线程运行吗?
- 26. CopyFileEx可以从辅助线程调用吗?
- 27. 从辅助线程访问实例属性(iPhone-SDK)
- 28. 阅读()从标准输入读取流
- 29. 需要再次帮助从输入流中读取数据
- 30. 如何从另一个线程停止std :: cin从读取输入?
您在寻找哪些输入设备和平台的信息?键盘/鼠标和Windows或游戏手柄和Xbox 360? – Venesectrix 2010-03-09 17:01:47
键盘在Windows上,它是唯一一个导致问题的... – 2010-03-09 21:37:20