Visual Studio 2022 зависает во время выполнения кодаC#

Место общения программистов C#
Ответить
Anonymous
 Visual Studio 2022 зависает во время выполнения кода

Сообщение Anonymous »

Я написал небольшую программу на C#/Monogame, которая позволяет мне перемещать фигуру на шахматной доске с помощью команд с клавиатуры. По одной плитке.
При тестировании кода я заметил, что иногда программа не реагирует на клавиатуру по несколько секунд. Когда программа возвращается к работе, она не воспроизводит все пропущенные входные данные, а вместо этого делает вид, будто ничего не произошло.
Чтобы разобраться в этом, я вставил команду printline в метод обновления такой:

Код: Выделить всё

    public override void Update(GameTime gameTime)
{
if (Globals.WorldTime_s - lastSlowUpdate >= 1)//once per second
{
lastSlowUpdate = Globals.WorldTime_s;
Debug.WriteLine($"PlayerTurn: {lastSlowUpdate}");
}
}
Мировое время обновляется следующим образом в статическом классе Globals:

Код: Выделить всё

    public static void Update(GameTime gameTime)
{
_worldTime_s += gameTime.ElapsedGameTime.TotalSeconds;
}
Я вижу следующее: в течение 5 секунд или около того я получаю printLine каждую секунду с временными метками, расположенными с интервалом в 1 секунду, как и ожидалось. Затем ничего не происходит в течение 2 или 3 секунд, пока не появится следующая строка печати. Следующая временная метка равна последней временной метке плюс 1 секунда. В этом случае ПО также не будет реагировать на клавиатуру.
Я считаю, что проблема в Visual Studio (2022, версия 17.10.4), поскольку код делает то, что должен.
Это нормально даже для моей маленькой игрушечной программы «Привет, мир»? Как я могу это улучшить? Тестирование программного обеспечения становится затруднительным, если оно не реагирует должным образом на клавиатуру.

Подробнее здесь: https://stackoverflow.com/questions/790 ... nning-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»