Intel PresentMon 2.0.0 Actualización

Argentomatica

4/4/20243 min leer

intel PresentMon
intel PresentMon

PresentMon, una herramienta de captura de cuadros desarrollada por Intel, está alcanzando un hito importante, 2.0, en su desarrollo. Adoptada ampliamente por diversas utilidades como OCAT y CapFrameX, se ha convertido en un componente esencial en las herramientas modernas dedicadas al análisis de cuadros.

Intel presentó una nueva versión de PresentMon el año pasado, la cual vino con varias características interesantes. Una de ellas es la inclusión de métricas de GPU Busy, proporcionando una visión más profunda del rendimiento del procesamiento gráfico. Además, la herramienta ahora utiliza sus propias funciones de superposición y gráficos. Esta característica permite a los usuarios avanzados y desarrolladores integrar sin problemas sus herramientas con la superposición, eliminando la necesidad de software externo.

La nueva versión (2.0.0) lanzada ayer trae varias funciones nuevas, correcciones y optimizaciones. El punto de referencia para la mayoría de las métricas ha cambiado de la llamada present() al momento en que la CPU inició el trabajo en un cuadro, resultando en valores más precisos relevantes para evaluar el rendimiento de aplicaciones gráficas, incluyendo la latencia y la duración de interacción.

Además, las estadísticas percentiles se han expandido para incluir valores explícitos del 1%, 5% y 10% junto a los marcadores existentes del 99%, 95% y 90%. También se ha introducido una estadística de promedio no nulo, que promedia específicamente los puntos de datos no nulos, lo cual es beneficioso para métricas donde cero significa "sin datos" en lugar de un verdadero valor cero, como la métrica de latencia de clic a fotón. Finalmente, la adición de gráficos de histograma ofrece a los usuarios una representación visual de la distribución de datos, mejorando las capacidades analíticas de la aplicación.

Los cambios en PresentMon 2.0 incluyen:

Nuevas características:

- La mayoría de las métricas ahora usan el momento en que la CPU comenzó a trabajar en un cuadro como punto de referencia, en lugar de la llamada a present(), con valores más alineados a la medición de la calidad de las aplicaciones gráficas (por ejemplo, latencia, duración de la interacción y de los cuadros mostrados). Para más detalles, ver README-ConsoleApplication.md.

- Los procesos con nombre desconocido ahora se informan como <unknown> en lugar de <error>.

- La aplicación de captura en CSV ahora informa NA (No Disponible) en columnas para métricas no disponibles en lugar de 0.

- La aplicación de superposición/captura ahora oculta cualquier métrica que no esté disponible en el sistema.

- Se agregaron estadísticas percentiles explícitas del 1%, 5% y 10% (a las ya existentes del 99%, 95% y 90%). Anteriormente, seleccionar el 99% para métricas donde un valor más bajo es mejor, automáticamente se convertía a la estadística del 1%. Ahora, no se realiza ninguna conversión dependiente del contexto y se muestra la estadística que el usuario seleccione.

- Se agregó una estadística de promedio no nulo que promedia solo los puntos de datos no nulos, útil para métricas donde cero denota "sin datos" en lugar de un valor cero (como en la métrica de latencia de clic a fotón).

- Se añadieron gráficos de histograma.

APIs de cliente:

- Nueva API de composición de consultas dinámicas: los clientes ahora especifican qué métricas/estadísticas están utilizando, y solo se realiza el procesamiento de datos necesario. Esto reemplaza el comportamiento anterior donde todas las combinaciones de métricas se calculaban en cada llamada de sondeo, independientemente de si eran necesarias.

- Nueva API de introspección: los clientes ahora pueden enumerar las métricas en tiempo de ejecución para poblar las interfaces de usuario con opciones, nombres y descripciones. También permite que los clientes sean compatibles con versiones futuras de builds de servicios que exponen nuevas métricas.

- PresentData: cambio de PresentStopTime a TimeInPresent, donde PresentStopTime = TimInPresent == 0 ? 0 : PresentStartTime + TimeInPresent

Correcciones de errores:

- Se corrigió el error que causaba el cierre al restablecer preferencias.

- Se corrigieron errores en la representación gráfica cuando la tasa de muestreo era alta y/o el gráfico contenía muchos datos.

- Se deshabilitó la edición para los presets de carga incorporados.

- Se corrigió un problema donde la configuración de autoescala afectaba al gráfico incorrecto.

- Se solucionó un problema donde la ventana de visualización de datos independiente aparecía repetidamente sobre la interfaz de control, dificultando la interacción con la aplicación.

- Se corrigió la desalineación de la interfaz de usuario de superposición en los widgets de lectura causada por valores muy pequeños.

- Los archivos de configuración ahora se guardan con la extensión de archivo .json por defecto.

Fuente y descarga: PresentMon (Github)