Что вызывает внезапное зависание во время работы программы реального времени?

Что вызывает внезапное зависание во время работы программы реального времени?

Итак, я запускаю высокоинтенсивную (CPU/GPU) программу реального времени. Во время обычного выполнения все внезапно замирает на 1-4 секунды. Я открыл "Process Explorer" в фоновом режиме, чтобы получить представление и, возможно, что-то идентифицировать. Вот как выглядят графики CPU/GPU, когда я выравниваю их по времени:

введите описание изображения здесь

Обратите внимание на 4 отчетливых падения в CPU/GPU. Вы можете видеть, что это идет от некоторого положительного использования CPU/GPU до почти нулевого. Эти падения на графике совпадают с моментами, когда программа реального времени внезапно зависает.

Как мне выяснить причину этих внезапных падений?

ПРИМЕЧАНИЕ: При наведении курсора на график отображается время с точностью до секунды в месте, где находится курсор.Возможно, эта функция наведения мыши может быть полезной в каком-то смысле (например, что если бы у вас был журнал всех процессов каждые 100 мс).

РЕДАКТИРОВАТЬ:

Программа реального времени — это видеоигра, поэтому я не могу смотреть какие-то инструменты, пока идет видеоигра. Мне нужно решение, которое позволит вам как-то вернуться назад во времени, чтобы увидеть, что происходило, когда произошло замедление.

РЕДАКТИРОВАТЬ:

RE - Запись данных против использования монитора в реальном времени: Итак, рекордер производительности Windows по какой-то причине не записывает то, что я ожидаю. Поэтому я переключился на использование "perfmon", а затем открыл его "монитор ресурсов".

RE - Настройка для просмотра монитора в реальном времени: В видеоигре я устанавливаю режим наблюдения, а затем перевожу видеоигру в «оконный» режим, чтобы можно было просматривать изображение в реальном времени, которое имеет Resource Monitor.

Теперь, когда я могу получать полуреальные данные (только один раз в секунду... как можно получить больше одного раза в секунду?), я начал изучать различные показания данных в реальном времени.

Возвращаясь к причине: я заметил сильную корреляцию между высокой загрузкой диска и низкой загрузкой процессора (что также проявляется в зависаниях в игре).Как использовать монитор ресурсов, чтобы выяснить, кто выполняет все эти вредоносные дисковые операции ввода-вывода?

решение1

Первое, на что я бы обратил внимание — это использование памяти и дисковый ввод-вывод.

Попробуйте отключить фоновые программы, такие как антивирусные/антивредоносные программы, любые программы обновления, такие как Центр обновления Windows и т. д.Выполнение чистой загрузки— лучший способ узнать, вызывают ли эту проблему какие-либо сторонние службы или программы.

Вам также следует следить за памятью — Windows может выполнять подкачку памяти в фоновом режиме, если памяти мало.

Вы замечали, что это происходит в определенные моменты, например, когда вы меняете оружие или когда воспроизводится новый звук? Это может быть связано с тем, что игровой ресурс был выгружен из памяти или не был загружен, и игре приходится загружать ресурс с диска. В зависимости от игры вы можете понизить некоторые настройки, чтобы уменьшить качество, количество или разнообразие игровых ресурсов.

решение2

ПытатьсяFancyCacheс"усредненная сумма записи".

Похоже, он способен распределить доступ к диску, чтобы избежать всплесков нагрузки.

Связанный контент