¿Qué causa la congelación repentina durante la ejecución del programa en tiempo real?

¿Qué causa la congelación repentina durante la ejecución del programa en tiempo real?

Así que ejecuto un programa en tiempo real de alta intensidad (CPU/GPU). Durante la ejecución normal, de repente todo se congela durante 1 a 4 segundos. Abrí "Process Explorer" en segundo plano para ayudar a obtener información y tal vez identificar algo. Así es como se ven los gráficos de CPU/GPU cuando los alineo en el tiempo:

ingrese la descripción de la imagen aquí

Observe las 4 caídas distintas tanto en la CPU como en la GPU. Puede ver que pasa de algún tipo de uso positivo de CPU/GPU a casi cero. Estas caídas en el gráfico se alinean con el momento en que el programa en tiempo real se congela repentinamente.

¿Cómo encuentro la causa de estas caídas repentinas?

NOTA: Cuando coloca el mouse sobre el gráfico, le indica la hora, con precisión de segundo, en la que se encuentra el cursor.Tal vez esta función del mouse sobre podría ser útil de alguna manera (por ejemplo, ¿qué pasaría si tuviera un registro de todos los procesos cada 100 ms)?

EDITAR:

El programa en tiempo real es un videojuego y, por lo tanto, no puedo ver ningún tipo de instrumentación mientras se ejecuta el videojuego. Necesito una solución que le permita retroceder en el tiempo de alguna manera para ver qué estaba sucediendo cuando se produjo la desaceleración.

EDITAR:

RE - Grabación de datos versus uso de monitor en tiempo real: Entonces, la grabadora de rendimiento de Windows, por alguna razón, no graba lo que espero que grabe. Así que cambié a usar "perfmon" y luego abrí su "monitor de recursos".

RE - Configurarlo para poder ver el monitor en tiempo real: En el videojuego lo configuro como espectador y luego pongo el videojuego en modo "ventana" para poder ver la visualización en tiempo real que tiene Resource Monitor.

Ahora que puedo obtener tiempo semi-real (solo una vez por segundo... ¿cómo se puede obtener más de una vez por segundo?) Empecé a mirar las distintas lecturas de datos en tiempo real.

Llegando a la causa: noté una fuerte correlación entre una alta E/S del disco y un bajo uso de la CPU (lo que también se ve al congelarse en el juego).¿Cómo se utiliza el monitor de recursos para descubrir quién está haciendo toda esta E/S de disco ofensiva?

Respuesta1

El uso de la memoria y la E/S del disco son las primeras cosas que miraría.

Intente deshabilitar programas en segundo plano, como programas antivirus/antimalware, cualquier programa de actualización como Windows Update, etc.Realizar un arranque limpioes la mejor manera de ver si algún servicio o programa de terceros está causando este problema.

También debe controlar la memoria: Windows podría estar paginando la memoria en segundo plano si se está agotando.

¿Has notado si sucede en ciertos momentos, por ejemplo, cuando cambias de arma o cuando se reproduce un nuevo sonido? Podría darse el caso de que un recurso del juego se haya cambiado de la memoria o no se haya cargado, y el juego tenga que cargar el recurso desde el disco. Dependiendo del juego, es posible que puedas reducir algunas de las configuraciones para reducir la calidad, cantidad o variedad de los recursos del juego.

Respuesta2

IntentarFancyCachecon"cantidad de escritura promedio".

Parece poder distribuir el acceso al disco para evitar ráfagas.

información relacionada