LatencyMon analiza las posibles causas de la insuficiencia de datos en el búfer midiendo las latencias del temporizador del kernel e informando los tiempos de ejecución de DPC e ISR, así como las fallas de página. Proporcionará un informe comprensible y encontrará los módulos y procesos del kernel responsables de provocar latencias de audio que provocan abandonos. También proporciona la funcionalidad de un monitor ISR, un monitor DPC y un monitor de fallas de página.
LatencyMon mostrará las latencias más altas de un temporizador de kernel e informará los tiempos de ejecución más altos de las rutinas ISR y DPC, así como los errores de página. En la mayoría de los casos, también encontrará los controladores y procesos responsables de ejecutarlos. Creará un informe comprensible que también muestra todos los datos muestreados de manera detallada, lo que le permite realizar un análisis en profundidad.
El problema de la latencia de audio
Windows no es un sistema operativo en tiempo real. Todas las solicitudes al sistema operativo se entregan con el mejor esfuerzo. No hay garantía alguna de que las solicitudes se entreguen dentro de un cierto período de tiempo, que son las características de un sistema operativo en tiempo real. Eso no es un problema para la mayoría de los dispositivos y tareas, pero es una mala noticia para las aplicaciones de audio (que se consideran en tiempo real suave) porque necesitan entregar datos al subsistema y al hardware en búferes varias veces por segundo. Si uno o más búferes no cumplen con sus fechas límite y no se entregan a tiempo, tiene consecuencias audibles que se reconocen como abandonos, clics y estallidos.
Acerca de los DPC y los ISR
El disptacher de subprocesos de Windows (también conocido como planificador) que es parte del kernel ejecuta subprocesos según un esquema de prioridad. Los subprocesos con mayor prioridad recibirán un tiempo de ejecución más largo (también conocido como intervalo cuántico o de tiempo) que los subprocesos con menor prioridad. Sin embargo, el kernel también conoce otros tipos de unidades de ejecución conocidas como rutinas de servicio de interrupción (ISR). Los dispositivos conectados al sistema pueden interrumpir en una CPU conectada y hacer que se ejecuten sus rutinas de servicio de interrupción. Puede producirse una interrupción en el mismo procesador en el que se ejecuta un programa de audio. Cualquier subproceso que se estuviera ejecutando en el procesador en el que se produjo una interrupción se detendrá temporalmente independientemente de su prioridad. La rutina de servicio de interrupción (ISR) se ejecuta y puede programar una DPC (llamada a procedimiento diferido) para descargar una cantidad de trabajo. Lo más probable es que el DPC se ejecute inmediatamente en el mismo procesador, lo que significa que la aplicación de audio se detendrá hasta que las rutinas ISR y DPC hayan finalizado la ejecución. Esto se debe a que los ISR y DPC se ejecutan en un IRQL elevado, lo que significa que el asignador de subprocesos (programador) no puede apropiarse de ellos. Por lo tanto, para garantizar la capacidad de respuesta del sistema, las rutinas ISR y DPC deben ejecutarse lo más rápido posible. Las pautas dicen que no deben gastar más de 100 µs de tiempo de ejecución, sin embargo, esto a menudo no se alcanza debido a factores de hardware que escapan al control del desarrollador del controlador. Si el tiempo de ejecución es demasiado alto, es posible que el programa de audio no pueda entregar búferes de audio al hardware de manera oportuna.
Acerca de los errores de página rígidos
Windows utiliza un concepto de memoria virtual que se basa en el sistema de traducción de páginas proporcionado por la CPU. Siempre que se solicite una dirección de memoria que no esté disponible en la memoria física (no residente), se producirá una INT 14. El controlador INT 14 proporcionado por el sistema operativo decidirá cómo proceder a continuación. Si Windows conoce la página en la que reside la dirección, pero no es residente, Windows leerá la página requerida del archivo de página. Eso se conoce como un error de página difícil y puede llevar mucho tiempo completarlo. Si la página se puede leer desde la memoria caché del disco duro, el precio será limitado. Sin embargo, si necesita leer físicamente los datos de los sectores del disco, esto lleva mucho tiempo. Si un programa de audio sufre una falla de página durante la reproducción, es casi seguro que tendrá consecuencias audibles reconocidas como abandonos, clics o estallidos.
Los fallos de página graves son una causa muy común, pero a menudo pasada por alto, de cortes de audio, clics y estallidos. Ocurren especialmente a menudo con software de audio que utiliza mucha memoria, como muestreadores. Las soluciones para evitar fallas de página son aumentar el conjunto de trabajo de la aplicación de audio, aumentar la cantidad de RAM o deshabilitar el archivo de paginación por completo. Tenga en cuenta que si desactiva el archivo de paginación, el sistema puede quedarse «sin memoria» porque no tiene el archivo de paginación disponible para intercambiar memoria. Además, el sistema ya no creará archivos de volcado por caída en caso de una caída del sistema.
Qué hay de nuevo:
Error solucionado: la interrupción de las mediciones del proceso podría informar un valor incorrecto
- El valor informado como la interrupción del intervalo de proceso, así como la interrupción del intervalo de DPC, podría ser incorrecto en caso de que varios grupos de procesadores estuvieran activos en el sistema. Este problema ha sido solucionado.
Error solucionado: número de procesadores informado incorrectamente si hay más de 64 CPU
- En caso de que LatencyJMon o IDLT se ejecutara en un sistema con más de 64 CPU lógicas, el número total de CPU en el sistema se informó erróneamente. Esto ha sido arreglado.
Error solucionado: infracción de acceso
- En casos excepcionales, LatencyMon podría mostrar un mensaje de infracción de acceso mientras se ejecuta. Esto ha sido arreglado.
Se ha eliminado el pico de latencia al inicio
- LatencyMon podría provocar un pico de latencia en la inicialización. Si bien este comportamiento era conocido y documentado, se eliminó el pico.
Tiempos de puesta en marcha más rápidos
- LatencyMon (así como IDLT) ahora se inicia mucho más rápido que antes.
Soporte de escalado de la interfaz de usuario
- LatencyMon le permite reducir o ampliar el tamaño de la interfaz de usuario. Esta opción solo está disponible con la edición profesional.
Soporte para temas de interfaz de usuario visual
- LatencyMon le permite seleccionar un tema visual de interfaz de usuario. Esta opción solo está disponible con la edición profesional.
Opciones visuales
- La edición profesional ofrece algunas opciones que le permiten cambiar la apariencia de la interfaz de usuario.
Cambios en la interfaz de usuario
- Se han aplicado algunos cambios a la interfaz de usuario de LatencyMon para mejorar su apariencia.
Órdenes de columna personalizadas
- La edición profesional ahora le permite cambiar el orden de las columnas en las vistas.
Seleccionar todo y deseleccionar todos los botones
- El cuadro de diálogo de opciones de las CPU que se van a supervisar ahora tiene dos botones que le permiten seleccionar y deseleccionar todas las CPU.
Soporte de portapapeles en vistas
- Todas las vistas ofrecen ahora la opción de copiar elementos al portapapeles.
Correcciones de texto
- Se han realizado algunas correcciones de texto en las vistas del informe.
Actualizaciones y cambios no especificados
- Se han aplicado varias actualizaciones y cambios menores al software que no se especifican.
Danos tu opinión