O que está causando o congelamento repentino durante a execução do programa em tempo real?

O que está causando o congelamento repentino durante a execução do programa em tempo real?

Então eu executo um programa em tempo real de alta intensidade (CPU/GPU). Durante a execução normal, de repente, tudo congela por 1 a 4 segundos. Abri o "Process Explorer" em segundo plano para ajudar a obter informações e talvez identificar algo. Aqui está a aparência dos gráficos de CPU/GPU quando eu os alinho no tempo:

insira a descrição da imagem aqui

Observe as 4 quedas distintas na CPU/GPU. Você pode ver que isso vai de algum tipo de uso positivo de CPU/GPU a quase zero. Essas quedas no gráfico se alinham quando o programa em tempo real congela repentinamente.

Como descubro o que está causando essas quedas repentinas?

NOTA: Quando você coloca o mouse sobre o gráfico, ele informa a hora, com precisão de segundos, de onde o cursor está.Talvez esse recurso de passar o mouse possa ser útil de alguma forma (por exemplo, e se você tivesse um registro de todos os processos a cada 100 ms).

EDITAR:

O programa em tempo real é um videogame e, portanto, não posso assistir a algum tipo de instrumentação enquanto o videogame está rodando. Preciso de uma solução que permita que você olhe para trás no tempo de alguma forma para ver o que estava acontecendo quando ocorreu a desaceleração.

EDITAR:

RE - Gravação de dados versus uso de monitor em tempo real: Portanto, por algum motivo, o gravador de desempenho do Windows não está gravando o que eu esperava. Então mudei para usar "perfmon" e depois abri seu "monitor de recursos".

RE - Configurando para poder visualizar o monitor em tempo real: No videogame eu configurei para assistir e depois coloquei o videogame no modo "janela" para poder visualizar a exibição em tempo real que o Resource Monitor possui.

Agora que posso obter tempo semi-real (apenas uma vez por segundo... como você consegue mais de uma vez por segundo?) Comecei a observar as várias leituras de dados em tempo real.

Chegando à causa: notei uma forte correlação entre alto IO de disco e baixo uso de CPU (que também é visto pelo congelamento do jogo).Como você usa o monitor de recursos para descobrir quem está fazendo todo esse IO de disco ofensivo?

Responder1

O uso de memória e E/S de disco são as primeiras coisas que eu observaria.

Tente desativar programas em segundo plano, como programas antivírus/antimalware, qualquer programa atualizador, como o Windows Update, etc.Executando uma inicialização limpaé a melhor maneira de verificar se algum serviço ou programa de terceiros está causando esse problema.

Você também deve monitorar a memória - o Windows pode estar paginando a memória em segundo plano se a memória estiver acabando.

Você notou se isso acontece em determinados momentos – por exemplo, quando você troca de armas ou quando um novo som é tocado? Pode ser que um recurso do jogo tenha sido retirado da memória ou não tenha sido carregado e o jogo precise carregar o recurso do disco. Dependendo do jogo, você poderá diminuir algumas configurações para reduzir a qualidade, quantidade ou variedade dos recursos do jogo.

Responder2

TentarFancyCachecom"valor médio de gravação".

Parece ser capaz de distribuir o acesso ao disco para evitar rajadas.

informação relacionada