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:
Abra la aplicación XAML.
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.
Seleccione Escala de tiempo de aplicación y luego haga clic en Iniciar en la parte inferior de la ventana.
Nota
Es posible que vea una ventana de control de cuentas de usuario que solicite su permiso para ejecutar VsEtwCollector.exe. Haga clic en Sí.
Ejecuta el escenario que te interese perfilar en tu aplicación para recopilar datos de rendimiento.
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.
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:
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.
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
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)
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. |
![]() |
Filtra la lista por categorías seleccionadas y la longitud de los eventos. |
![]() |
Permite especificar las anotaciones de eventos. |
Contenido relacionado
- blog del equipo de WPF de : Nueva herramienta de análisis de rendimiento de la interfaz de usuario para aplicaciones de WPF
- procedimientos recomendados de rendimiento para aplicaciones para UWP con C++, C# y Visual Basic
- optimizar el rendimiento de la aplicación WPF
- Generación de perfiles en Visual Studio
- Primer vistazo a las herramientas de generación de perfiles