domingo, 5 de febrero de 2012

Usando el Windows Phone Performance Analysis

En un post anterior hablamos sobre por qué es importante medir el desempeño de nuestra aplicación y que para ello encontramos en el SDK 7.1 de Windows Phone una herramienta que nos permite medir el desempeño de nuestras aplicaciones, el  Windows Phone Performance Analysis.

Ejecutar el análisis de desempeño antes de enviar nuestra aplicación al Marketplace, es importante debido a que es explícitamente contemplado como uno de los requerimientos técnicos para su certificación.

Usar el  Windows Phone Performance Analysis muy simple y para obtener mejores resultados se recomienda compilar nuestra aplicación en modo release. Para compilar en modo release o liberar es necesario ir a la barra de herramientas Estándar, y seleccionar Depurar o Liberar (Debug or Release) en el cuadro de lista Configuraciones de soluciones.

Esta barra de herramientas no está disponible en Visual Basic Express o Visual C# Express, por lo que es necesario en el Explorador de soluciones, seleccionar el proyecto, en el menú Ver, hacer clic en Páginas de propiedades, luego en la pestaña Compilación o Depurar (Compile or Debug) y en la lista desplegable Configuración en Debug o Release.

Con el fin de que puedan ejecutar las pruebas les dejo código de mi aplicación Viajero que utilicé para el CodeCamp 2011

Para iniciar el análisis vamos al menú depuración


Seleccionamos el tipo de prueba que deseamos ejecutar


Después de lanzar el monitoreo veremos en el Visual Studio una pantalla como la siguiente


Durante este tiempo empezamos a hacer pruebas en nuestra aplicación


Al finalizar las pruebas detenemos en el Visual Studio el monitoreo


Al finalizar se nos mostrarán los resultados del monitoreo.


Las gráficas nos ayudan a observar la velocidad de fotogramas de la aplicación durante el monitoreo, así como el uso de la CPU, memoria, storyboards, cargas de imagenes y los eventos del Garbage Collector.

Para identificar los problemas específicos de la aplicación, seleccionamos una región en la línea de tiempo y en la parte inferior se muestra información detallada.


Existen 3 tipos de alertas Información, Advertencia y Error, debemos seguir las instrucciones en la columna de Resumen de Observación y seguir investigando el origen de la alerta.

Para ver más detalles podemos navegar usando el menú disponible en las alertas


Así vemos en detalle lo que ocurría en cada frame o a nivel del uso de la CPU.


Y podemos seguir navegando para obtener más detalles filtrando por funcionalidad, caché, tipos de elementos o ver el arbol visual del frame en el que nos encontramos.


No considero que el análisis de desempeño sea una tarea sencilla, pero la herramienta facilita el poder buscar puntos donde hayan problemas y mejorar nuestra aplicación, seguramente entre más la usemos nos acostumbraremos y la entenderemos mucho mejor cada vez.

Un estrategia es probar funcionalidades puntuales, de forma planificada y ordenada con el fin de tener resultados controlados, ya que si simplemente probamos funcionalidades al azar nos será más difícil analizar el resultado que ofrece el analizador de desempeño.

En MSDN contamos con una ayuda más para entender como solucionar los problemas reportados por el analizador de desempeño.

Bien, espero les haya sido útil y hasta la próxima.

Sorey

No hay comentarios: