В настоящее время я перехожу к игре, которую я создал из последовательного подхода XNA (последовательные вызовы Updates and Draws) в многопоточный подход.Отмена основной темы XNA?
Мне уже удалось переместить обновления игр и привлечь другие задачи/потоки. Единственная проблема, с которой я столкнулась, - это выяснить, как прервать основной поток XNA (класс, который расширяет класс Game), потому что у меня буквально есть пустые методы Update()
и Draw()
.
При попытке прервать эту нить через:
System.Threading.Thread.CurrentThread.Abort();
в качестве последней линии Initialize()
метода в Game
класса, все приложение завершается. Итак, есть ли способ прервать основной поток XNA и все еще иметь исполняемое окно игры? Причина, по которой я пытаюсь закончить этот поток, заключается в том, что я не хочу, чтобы он влиял на производительность игры, выполняя пустые обновления/рисования.
Если вы не хотите, чтобы основной поток вызывал 'Update' и' Draw', вы можете по крайней мере установить 'Enable = Visible = false;' – pinckerman
@pinckerman Это работает только для ('Drawable')' GameComponent's ' , Такой основной вариант не существует. –
@AndrewRussell Вы правы, моя вина. – pinckerman