我目前正在将我从 XNA 的顺序方法(更新和绘制的连续调用)创建的游戏转换为多线程方法。
我已经成功地移动了游戏更新并吸引了其他任务/线程。我遇到的唯一问题是弄清楚如何中止主 XNA 线程(扩展 Game 类的类),因为我实际上有空的Update()
和Draw()
方法。
当我尝试通过以下方式中止该线程时:
System.Threading.Thread.CurrentThread.Abort();
Initialize()
作为类方法的最后一行Game
,整个应用程序终止。那么,有没有办法终止 XNA 的主线程,而游戏窗口仍然在执行呢?我试图终止这个线程的原因是我不希望它通过执行空的更新/绘制来影响游戏的性能。