
Итак, я запускаю высокоинтенсивную (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с"усредненная сумма записи".
Похоже, он способен распределить доступ к диску, чтобы избежать всплесков нагрузки.