Compartir a través de


Análisis del consumo de recursos y la actividad de subprocesos de interfaz de usuario (XAML)

Usa el perfilador de cronograma de la aplicación para encontrar y corregir problemas de rendimiento relacionados con la interacción en aplicaciones XAML. Esta herramienta ayuda a mejorar el rendimiento de la aplicación XAML mostrando una vista detallada del consumo de recursos de las aplicaciones. Puede analizar el tiempo dedicado por la aplicación a preparar fotogramas de interfaz de usuario (diseño y representación), atender las solicitudes de red y disco, y en escenarios como inicio de la aplicación, carga de página y cambio de tamaño de ventanas.

Escala de tiempo de aplicación es una de las herramientas que puede iniciar con el comando Depurar>Generador de perfiles de rendimiento.

Esta herramienta reemplaza a Capacidad de respuesta de la IU de XAML, que formaba parte del conjunto de herramientas de diagnóstico en versiones anteriores de Visual Studio.

Puede usar esta herramienta en las siguientes plataformas:

  • Aplicaciones universales de Windows (en Windows 10 y versiones posteriores)
  • Windows 8.1
  • Windows Presentation Foundation (.NET 4.0 y versiones posteriores)
  • Windows 7

Nota

Puede recopilar y analizar datos de uso de CPU y datos de consumo de energía junto con los datos de ApplicationTimeline. Consulte Ejecución de herramientas de generación de perfiles en compilaciones de versión o depuración.

Recopilar datos del cronograma de la aplicación

Puede generar perfiles de la capacidad de respuesta de la aplicación en el equipo local, el dispositivo conectado, el simulador o emuladores de Visual Studio o un dispositivo remoto. Consulte Ejecución de herramientas de generación de perfiles en compilaciones de versión o depuración.

Sugerencia

Si es posible, ejecute la aplicación directamente en el dispositivo. Es posible que el rendimiento de la aplicación observado en el simulador o a través de una conexión a Escritorio remoto no sea el mismo que el rendimiento real en el dispositivo. Por otro lado, la recopilación de los datos mediante Las herramientas remotas de Visual Studio no afecta a los datos de rendimiento.

Estos son los pasos básicos:

  1. Abra la aplicación XAML.

  2. Haga clic en Depurar / Generador de perfiles de rendimiento. Debería ver una lista de herramientas de generación de perfiles en la ventana .diagsession.

  3. Seleccione Escala de tiempo de aplicación y luego haga clic en Iniciar en la parte inferior de la ventana.

    Herramienta de Cronograma de la Aplicación Seleccionada

    Nota

    Es posible que vea una ventana de control de cuentas de usuario que solicite su permiso para ejecutar VsEtwCollector.exe. Haga clic en .

  4. Ejecuta el escenario que te interese perfilar en tu aplicación para recopilar datos de rendimiento.

  5. Para detener la generación de perfiles, vuelva a la ventana .diagsession y haga clic en Detener en la parte superior de la ventana.

    Visual Studio analiza los datos recopilados y muestra los resultados.

    Informe del generador de perfiles de la escala de tiempo

Analizar datos de generación de perfiles de escala de tiempo

Después de recopilar los datos de generación de perfiles, puede usar estos pasos para iniciar el análisis:

  1. Vea la información de los gráficos Uso del subproceso de UI y Rendimiento visual (FPS) y, luego, use las barras de navegación de la escala de tiempo para seleccionar un intervalo de tiempo que quiera analizar.

  2. Con la información de los gráficos Uso del subproceso de UI o Rendimiento visual (FPS), examine los detalles de la vista Detalles de la escala de tiempo para detectar las posibles causas de cualquier falta de capacidad de respuesta aparente.

Escenarios, categorías y eventos de informe

La herramienta Escala de tiempo de aplicación muestra datos de tiempo para escenarios, categorías y eventos relacionados con el rendimiento de XAML.

Escala de tiempo de la sesión de diagnóstico

Cronograma de rendimiento y diagnóstico

La regla que aparece en la parte superior de la página muestra la escala de tiempo para la información cuyo perfil se ha generado. Esta escala de tiempo se aplica tanto al gráfico de uso de subprocesos de interfaz de usuario como al gráfico de rendimiento visual . Puede restringir el ámbito del informe arrastrando las barras de navegación de la escala de tiempo para seleccionar un segmento de la escala de tiempo.

La escala de tiempo también muestra las marcas de usuario que haya insertado y los eventos del ciclo de vida de activación de la aplicación.

Gráfico de uso de subprocesos de interfaz de usuario

Gráfico de Utilización de CPU

El gráfico de utilización de subprocesos de interfaz de usuario (%) es un gráfico de barras que muestra la cantidad relativa de tiempo invertido en una categoría durante un lapso de recopilación.

Gráfico de rendimiento visual (FPS)

gráfico de rendimiento visual

El gráfico de líneas Rendimiento visual (FPS) muestra los fotogramas por segundo (FPS) en el subproceso de interfaz de usuario y de composición de la aplicación.

Detalles del cronograma

La vista de detalles es donde dedica la mayor parte del tiempo a analizar el informe. Muestra el uso de la CPU por la aplicación, categorizado por el subsistema de la interfaz de usuario (UI Framework) o el componente del sistema que consumió la CPU.

Los siguientes eventos son compatibles:

Nombre Descripción
Análisis sintáctico Tiempo dedicado a analizar archivos XAML y crear objetos.

Si se expande un nodo Análisis de Detalles de la escala de tiempo, se muestra la cadena de dependencia de todos los archivos XAML que se han analizado como resultado del evento raíz. Esta sugerencia le permite identificar el análisis de archivos innecesario y la creación de objetos en escenarios sensibles al rendimiento y optimizarlos.
Diseño En aplicaciones grandes, se pueden mostrar miles de elementos en la pantalla al mismo tiempo. Esta pantalla puede dar lugar a una baja velocidad de fotogramas de la UI y, por lo tanto, a una respuesta lenta de la aplicación. El evento Layout determina con precisión el costo de diseñar cada elemento (es decir, el tiempo invertido en Arrange, Measure, ApplyTemplate, ArrangeOverride y MeasureOverride). También compila los árboles visuales que han participado en un cálculo de diseño. Puede usar esta visualización para determinar qué árboles lógicos podar o evaluar otros mecanismos de aplazamiento para optimizar el proceso de diseño.
Representar Tiempo dedicado a dibujar elementos XAML en la pantalla.
E/S Tiempo dedicado a recuperar datos del disco local o de recursos de red a los que se accede a través de la API de Microsoft Windows Internet (WinINet).
Código de aplicación Tiempo dedicado a ejecutar código de aplicación (usuario) que no está relacionado con el análisis o el diseño.
Otro XAML Tiempo dedicado a ejecutar código en tiempo de ejecución XAML.

Sugerencia

Elija la herramienta Uso de CPU junto con la herramienta Escala de tiempo de aplicación al comenzar a generar perfiles para ver los métodos de aplicación que se ejecutan en el subproceso de UI. Mover el código de la aplicación de larga duración a un subproceso en segundo plano puede mejorar la capacidad de respuesta de la UI.

Personalización de los detalles de la cronología

Utilice la barra de herramientas Detalles de la escala de tiempo para ordenar, filtrar y especificar las anotaciones de las entradas de la vista Detalles de la escala de tiempo.

Nombre Descripción
Ordenar por Ordene por hora de inicio o la longitud de los eventos.
Agrupar eventos por cuadro Agrega o quita una categoría Marco de nivel superior que agrupa eventos por marco.
Filtro de la lista de detalles de la escala de tiempo Filtra la lista por categorías seleccionadas y la longitud de los eventos.
Personalizar la información de detalles de la cronología Permite especificar las anotaciones de eventos.