4

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

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

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

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

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

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

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

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

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

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

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

2 ответа2

2

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

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

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

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

1

Попробуйте FancyCache с "усредненной суммой записи".

Кажется, что он может распространять доступ к диску, чтобы избежать очередей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .