Herramientas y recursos de rendimiento de WPF
Actualización: noviembre 2007
WPF proporciona un conjunto de herramientas de creación de perfiles de rendimiento que permiten analizar el funcionamiento de la aplicación en tiempo de ejecución y determinar los tipos de optimización de rendimiento que se pueden aplicar. En la tabla siguiente se muestran las cinco herramientas de generación de perfiles de rendimiento que se incluyen en la herramienta Windows SDK, WPFPerf:
Herramienta |
Description |
---|---|
Event Trace |
Se utiliza para analizar eventos y generar archivos de registro de eventos. |
Perforator |
Se utiliza para analizar el comportamiento de representación. |
Trace Viewer |
Registro, presentación y examen de archivos de registro de Event Tracing for Windows (ETW) en formato de interfaz de usuario de WPF. |
Visual Profiler |
Se utiliza para generar perfiles de uso de servicios WPF, tales como el diseño y el control de eventos, mediante elementos del árbol visual. |
Working Set Viewer |
Se utiliza para analizar las características del espacio de trabajo de la aplicación. |
El conjunto de herramientas Visual Profiler ofrece una vista gráfica y enriquecida de los datos de rendimiento. En esta captura de pantalla, la sección CPU Usage de Visual Profiler ofrece un desglose preciso del uso, por parte de un objeto, de servicios de WPF tales como la representación y el diseño.
Resultados de la presentación de Visual Profiler
Para obtener más información, vea Herramientas de generación de perfiles de rendimiento de WPF.
Ver el árbol visual con XamlPad
Si analiza la jerarquía del árbol visual mediante XAMLPad, puede formarse una idea del funcionamiento de la expansión de la plantilla de control. Saber esto puede ayudarle a entender los costos de rendimiento y las ventajas del diseño de la interfaz de usuario que está creando.
XamlPad proporciona una opción para ver y explorar el árbol visual que corresponde al contenido de XAML actualmente definido. Haga clic en el botón Show Visual Tree en la barra de menús para mostrar el árbol visual. A continuación se ilustra la expansión del contenido de XAML en los nodos del árbol visual en el panel Visual Tree Explorer de XamlPad:
Panel Visual Tree Explorer de XamlPad
Observe que cada uno de los controles Label, TextBox y Button muestra una jerarquía de objetos visuales independiente en el panel Visual Tree Explorer de XamlPad. Esto se debe a que los controles de WPF tienen una ControlTemplate que contiene el árbol visual de ese control. Al hacer referencia explícitamente a un control, se hace referencia implícitamente a su jerarquía visual. Para obtener más información sobre los objetos visuales y el árbol visual, vea Información general sobre la representación de gráficos en Windows Presentation Foundation.
Puede ver los valores de las propiedades de un elemento en Visual Tree Explorer seleccionando el elemento. El panel Property Tree Explorer, situado debajo del panel Visual Tree Explorer, muestra los valores de las propiedades actuales del objeto visual seleccionado.
Panel Property Tree Explorer de XamlPad
Para obtener más información, vea XAMLPad.
Compatibilidad de la traza de depuración de WPF
La clase PresentationTraceSources ofrece compatibilidad con la traza de depuración destinada específicamente a las aplicaciones de WPF. La traza es un sistema de diagnóstico mediante el cual se puede realizar el seguimiento de la progresión de una aplicación. Se suele usar la información del informe de instrucciones de traza, de forma muy parecida al método WriteLine. Sin embargo, se pueden activar y desactivar las instrucciones de traza usando un archivo de configuración. Además, se puede personalizar el resultado de las instrucciones de traza.
Para obtener otras clases de diagnóstico de .NET Framework relacionadas, vea System.Diagnostics.
Vea también
Conceptos
Optimizar WPF: Rendimiento de aplicaciones
Planear para mejorar el rendimiento de aplicaciones
Optimizar el rendimiento: Aprovechar el hardware
Optimizar el rendimiento: Presentación y diseño
Optimizar el rendimiento: Imágenes y gráficos 2D
Optimizar el rendimiento: Comportamiento de objetos
Optimizar el rendimiento: Recursos de aplicación
Optimizar el rendimiento: Texto