Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

Planear para mejorar el rendimiento de aplicaciones

 

Publicada: junio de 2016

La consecución de los objetivos de rendimiento depende de lo bien que desarrolle su estrategia de rendimiento. La planeación es la primera fase del desarrollo de cualquier producto. En este tema se describen algunas reglas muy simples para desarrollar una estrategia de rendimiento acertada.

Los escenarios pueden ayudarle a centrarse en los componentes críticos de la aplicación. Los escenarios suelen derivarse de los clientes, así como de los productos de la competencia. Estudie siempre a sus clientes y averigüe qué es lo que les interesa de su producto y de los productos de la competencia. Los comentarios de sus clientes pueden ayudarle a determinar el escenario principal de la aplicación. Por ejemplo, si va a diseñar un componente que se usará en el inicio, es probable que solamente se llame a este componente una vez, cuando se inicia la aplicación. En este caso, el escenario clave es el momento del inicio. Otros ejemplos de escenarios clave podrían ser la velocidad de los fotogramas en las secuencias de animación o el espacio de trabajo máximo permitido para la aplicación.

Los objetivos le ayudan a determinar si el rendimiento de una aplicación es superior o inferior. Debe definir objetivos para todos los escenarios. Todos los objetivos de rendimiento que defina deberán basarse en las expectativas de sus clientes. Puede ser difícil establecer los objetivos de rendimiento desde el principio del ciclo de programación, cuando todavía quedan muchos problemas sin resolver. Sin embargo, es mejor fijar un objetivo inicial y revisarlo posteriormente que no tener ningún objetivo en absoluto.

Mantenga en todo momento el ciclo de medir, investigar, refinar y corregir durante el ciclo de programación de la aplicación. Desde el principio hasta el final del ciclo de programación, es preciso medir el rendimiento de la aplicación en un entorno confiable y estable. Debe evitar las variaciones producidas por factores externos. Por ejemplo, al realizar pruebas de rendimiento, debe deshabilitar los antivirus y las actualizaciones automáticas, como SMS, para que no afecten a los resultados de dichas pruebas. Después de medir el rendimiento de la aplicación, deberá identificar los cambios que darán lugar a las mayores mejoras. Cuando haya modificado la aplicación, inicie de nuevo el ciclo.

Debe conocer el costo relativo de cada característica que va a utilizar. Por ejemplo, el uso de la reflexión en Microsoft .NET Framework suele afectar intensamente al rendimiento por lo que se refiere a los recursos informáticos, de modo que es importante utilizarla juiciosamente. Esto no significa que haya que evitar el uso de la reflexión, únicamente que debe asegurarse de equilibrar los requisitos de rendimiento de la aplicación con las exigencias de rendimiento de las características que utilice.

Una técnica clave para crear un enfoque escalable que permita lograr un rendimiento adecuado de las aplicaciones de WPF es aumentar progresivamente la riqueza gráfica y la complejidad. Empiece siempre utilizando los recursos que menos afectan al rendimiento para lograr los objetivos del escenario. Cuando haya logrado estos objetivos, aumente progresivamente la riqueza gráfica mediante características que afectan con mayor intensidad al rendimiento, teniendo siempre presentes los objetivos del escenario. Recuerde que WPF es una plataforma extremadamente completa que proporciona características gráficas muy ricas. El uso irreflexivo de características que afectan intensamente al rendimiento puede impactar negativamente en el rendimiento de la aplicación en su conjunto.

La extensibilidad es inherente a los controles de WPF, lo que permite una personalización generalizada de su aspecto sin modificar su comportamiento de control. Aprovechando los estilos, las plantillas de datos y las plantillas de control puede crear y modificar gradualmente una interfaz de usuario (UI) personalizable adaptada a los requisitos de rendimiento.

Mostrar: