Compartir por


Introducción al rendimiento y los elementos básicos de la aplicación de Windows

Mejorar el rendimiento y los elementos fundamentales de la aplicación le otorga un aspecto de refinamiento y destreza y, al mismo tiempo, permite que los clientes puedan ahorrar tiempo, dinero, duración de la batería y esfuerzo de desarrollo. La aplicación consumirá menos energía, lo que mejorará la duración de la batería y reducirá las emisiones de carbono. Las aplicaciones funcionan mejor en hardware menos costoso. Aumenta la productividad de los clientes.

En esta página se proporciona información general sobre las tecnologías y las herramientas de desarrollo para medir, comprender y refinar el rendimiento de la aplicación de Windows. Si escribe una aplicación para UWP, asegúrese de consultar también la documentación de rendimiento de UWP.

¿Qué es el rendimiento de las aplicaciones y por qué es importante?

El rendimiento es la medida de cuán eficazmente tu aplicación utiliza los recursos del sistema para hacer lo que has diseñado que haga. Trata diferentes aspectos de cómo interactúa el programa con el dispositivo subyacente, entre los que se incluyen:

  • Uso de CPU
  • Consumo de memoria
  • Consumo de energía
  • Uso de red y almacenamiento
  • Rendimiento de la animación

Todas estas propiedades tienen un elemento de costo asociado: por ejemplo, ¿cuánta CPU usa mi aplicación? ¿Cuánto ancho de banda consumirá el usuario? ¿Con qué rapidez se carga esta página concreta de mi aplicación?

Los usuarios esperan el rendimiento como una propiedad fundamental del software que usan. Quieren que sus aplicaciones tengan capacidad de respuesta y hagan un uso eficaz de los recursos de su sistema. Las aplicaciones que presentan un rendimiento deficiente provocan frustración, lo que puede provocar una reducción de la participación del usuario. Para proporcionar a los clientes la mejor experiencia posible, por lo tanto es fundamental hacer que el rendimiento forme parte normal del flujo de trabajo de desarrollo.

¿Cuándo debe medir el rendimiento de la aplicación?

El rendimiento de la aplicación puede abarcar muchas fases del proceso de desarrollo. Tiene implicaciones en todo lo que va desde su elección de estructura de datos hasta la tecnología que elija para compilar la aplicación. Tenga en cuenta el rendimiento a medida que desarrolla su aplicación, y planee realizar pruebas de rendimiento regulares como parte de la actualización y el mantenimiento de la aplicación.

Cómo abordar la medición del rendimiento

Estas son algunas sugerencias sobre cómo abordar la prueba de rendimiento de la aplicación.

  • Aproveche sus conocimientos sobre la aplicación. Comprender los escenarios más comunes para los usuarios le permitirá dedicar su tiempo a optimizar las cosas correctas. Si tiene datos disponibles sobre cómo interactúan los usuarios con la aplicación, sería un buen momento para verlo.
    • ¿Dónde pasan los usuarios la mayor parte de su tiempo?
    • ¿Cuáles son las cosas más importantes que un cliente hará con su software?
    • ¿Cuáles son los requisitos de hardware de la aplicación?
  • Establezca objetivos de rendimiento para los escenarios de usuario más importantes.
  • Sea preciso sobre lo que está intentando optimizar. ¿Es CPU? ¿Batería? ¿Rendimiento de red?
  • Seleccione las herramientas que usará para realizar las mediciones.
  • Aplicar una mentalidad científica al realizar pruebas. Cree pruebas comparativas en un entorno controlado. A continuación, realice el cambio y vuelva a medir para ver cómo los cambios han afectado el comportamiento de la aplicación.
  • Agregue pruebas de regresión al entorno de prueba. Esto garantizará que las métricas de rendimiento no regresen con el tiempo.

Entrelazar métricas

Aunque normalmente se centrará en un área de rendimiento durante el análisis, tenga en cuenta que las áreas suelen estar entrelazadas. Una mejora en un área puede provocar mejoras en las otras áreas.

Por ejemplo, corregir el consumo de energía suele ser un problema de sincronización. Reducir el uso de memoria puede reducir el tiempo invertido en usar la CPU. También puede haber situaciones en las que los recursos adicionales invertidos en una área produzcan una mejora más impactante en otra área; por ejemplo, aumentar el consumo de memoria puede reducir el uso de red o almacenamiento a través del almacenamiento en caché.

La decisión de realizar un cambio depende de lo que sea más importante para los clientes.

¿Qué herramientas puedo usar para medir el rendimiento de la aplicación?

Hay una variedad de opciones diferentes disponibles para medir el rendimiento de la aplicación de Windows.

Si no está seguro de qué herramientas elegir, consulte el artículo: Elección entre el Generador de perfiles de rendimiento de Visual Studio y Windows Performance Toolkit.

Visual Studio Icon Profilador de rendimiento de Visual Studio

Visual Studio ofrece herramientas que le ayudarán a supervisar su aplicación y a brindarle información sobre su código fuente. Consulte los recursos siguientes para obtener información sobre cómo puede usar estas herramientas para optimizar el código directamente desde el entorno de desarrollo.

Icono de Windows Performance Analyzer Windows Performance Toolkit

Windows Performance Recorder y Windows Performance Analyzer permiten la supervisión y el análisis detallados de la aplicación y de todo el sistema mediante el seguimiento de eventos para Windows (ETW). Consulte los siguientes enlaces sobre cómo empezar.

Icono de PerfView PerfView

PerfView es una herramienta de supervisión y análisis de código abierto creada por el equipo de .NET para investigar problemas de rendimiento de .NET. Debido a su capacidad para descodificar símbolos de .NET y memoria administrada, es una opción ideal para las aplicaciones administradas.

Icono de SizeBench SizeBench

SizeBench es una utilidad que le ayuda a investigar y reducir el tamaño de los archivos binarios de código nativo compilados (archivos DLL, EXE y otros archivos PE).

Recursos adicionales

Blogs y noticias

Descubra los entresijos con los blogs de desarrolladores, escritos por nuestros expertos en rendimiento para mejorar la creación de la mejor versión de tu aplicación.

Comunidad y soporte técnico

  • ¿Problemas de rendimiento en tu ciclo de compilar-depurar-probar? Notifiquelos en el repositorio Windows Dev Performance en GitHub.

Rendimiento y sostenibilidad

La ingeniería de rendimiento forma una intersección directamente con el movimiento de software sostenible. La mayoría de las redes eléctricas queman combustibles fósiles para generar electricidad. A medida que la aplicación se ejecuta en un equipo, consume energía incremental que puede ser pequeña para un solo usuario, pero aumenta a medida que crece la base de usuarios.

¿Le interesa aprender cómo la ingeniería de rendimiento forma una intersección con la sostenibilidad? Consulte el blog Principios de ingeniería de software verde y software sostenible de Microsoft.