Analizar el uso de energía en las aplicaciones de la Tienda
El generador de perfiles Consumo de energía de Visual Studio te ayuda a analizar el consumo de potencia y energía de las aplicaciones de la Tienda Windows en dispositivos de tableta gráfica de bajo consumo que funcionan al menos parte del tiempo con baterías. En un dispositivo que funciona con baterías, una aplicación que usa demasiada energía puede producir tanta insatisfacción en el cliente que este puede decidir incluso desinstalarla. La optimización del uso de la energía puede incrementar la adopción y el uso de tu aplicación por parte de los clientes.
Contenido
Qué es el generador de perfiles Consumo de energía, cómo funciona y qué mide
Identificar escenarios con marcas de usuario
Configurar el entorno para la generación de perfiles
Recopilar datos de perfil de energía para la aplicación
Recopilar datos de perfil de energía para una aplicación instalada
Analizar datos de perfil de energía
Optimizar el uso de energía
Otros recursos
Qué es el generador de perfiles Consumo de energía, cómo funciona y qué mide
El generador de perfiles Consumo de energía captura las actividades de la pantalla, la CPU y las conexiones de red de un dispositivo durante una sesión de generación de perfiles. Después genera estimaciones de la potencia utilizada para esas actividades y de la cantidad total de energía para la sesión de generación de perfiles.
![]() |
---|
El generador de perfiles de energía calcula el uso de potencia y energía mediante un modelo de hardware de dispositivo de referencia estándar representativo de los dispositivos de tableta de bajo consumo en los que se puede ejecutar la aplicación.Para proporcionar las mejores estimaciones, te recomendamos que recopiles los datos del generador de perfiles en un dispositivo de tableta de bajo consumo. Aunque el modelo proporciona buenas estimaciones para diversos dispositivos de bajo consumo, los valores reales del dispositivo para el que se genera el perfil probablemente serán diferentes.Usa los valores para buscar las actividades de la pantalla, la CPU y de red con un consumo elevado de los recursos en relación con otros usos de estos y que, por tanto, puedan ser buenas candidatas para la optimización. |
El generador de perfiles Consumo de energía usa estas definiciones de potencia y energía:
Potencia mide la velocidad a la que se utiliza la fuerza para realizar un trabajo que se lleva a cabo en un período de tiempo. En electricidad, la unidad de potencia estándar es un vatio, que se define como la velocidad a la que se realiza un trabajo cuando una corriente de un amperio fluye a través de una diferencia de potencial eléctrico de un voltio. En el gráfico Uso de potencia, las unidades se muestran en milivatios mW, que son la milésima parte (10 -3) de un vatio.
Ten en cuenta que, dado que la potencia es una tasa, tiene una dirección (el trabajo puede aumentar o disminuir en un período de tiempo) y una velocidad (la cantidad en la que aumenta o disminuye el trabajo).
Energía mide la cantidad total de potencia, bien como capacidad o como potencial, como en la capacidad de potencia de una batería, o como el total de potencia gastada en un período de tiempo. La unidad de energía es un vatio-hora, la cantidad de potencia de un vatio aplicada constantemente durante una hora. En el Resumen de uso de energía, las unidades se muestran en milivatios-hora mW-h.
Por ejemplo, una batería totalmente cargada en una tableta gráfica tiene cierta cantidad de energía almacenada. Dado que la energía se utiliza para realizar tareas, como comunicarse a través de una red, calcular valores o mostrar gráficos, la potencia de la batería se disipa a distintas tasas. En cualquier período de tiempo, el total de potencia consumido también se mide por energía.
Identificar escenarios con marcas de usuario
Puedes agregar marcas de usuario a los datos de generación de perfiles para ayudar a identificar áreas en la regla de escala de tiempo.
La marca aparece como un triángulo naranja en la escala de tiempo en el momento de la ejecución del método. El mensaje y el tiempo se muestran como información sobre herramientas al mantener el mouse sobre la marca. Si dos o más marcas de usuario están muy próximas, se combinan dichas marcas y los datos sobre herramientas. Puedes acercar la escala de tiempo para separar las marcas.
Agregar marcas a código de C#, Visual Basic y C++
Para agregar una marca de usuario a código de C#, Visual Basic y C++, primero cree un objeto Windows.Foundation.Diagnostics LoggingChannel. A continuación, inserte llamadas a métodos LoggingChannel.LogMessage en los puntos del código que quiera marcar. Use LoggingLevel.Information en las llamadas.
Al ejecutarse el método, se agrega una marca de usuario a los datos de generación de perfiles junto con un mensaje.
![]() |
---|
|
Consulte el ejemplo de LoggingSession del Windows SDK.
Agregar marcas a código de JavaScript
Para agregar marcas de usuario, agrega el código siguiente en los puntos del código que desees marcar:
if (performance && performance.mark) {
performance.mark(markDescription);
}
markDescription es una cadena que contiene el mensaje que se va a mostrar en la información sobre herramientas de la marca de usuario.
Configurar el entorno para la generación de perfiles
Para obtener buenas estimaciones, deberás generar un perfil de uso de energía para la aplicación en un dispositivo de bajo consumo que esté funcionando con baterías. Dado que Visual Studio no se ejecuta en la mayoría de estos dispositivos, deberás conectar tu equipo de Visual Studio al dispositivo utilizando las Herramientas remotas de Visual Studio. Para conectarte con un dispositivo remoto, debes configurar tanto el proyecto de Visual Studio como el dispositivo remoto. Para obtener más información, consulta Ejecutar aplicaciones de la Tienda Windows en un equipo remoto desde Visual Studio.
![]() |
---|
|
Recopilar datos de perfil de energía para la aplicación
En el menú Depurar, elige Rendimiento y diagnósticos.
Elige Consumo de energía y luego Iniciar.
Nota
Al iniciar el generador de perfiles Consumo de energía, puede aparecer una ventana Control de cuentas de usuario que solicite tu permiso para ejecutar VsEtwCollector.exe.Elige Sí.
Ejecuta la aplicación para recopilar datos.
Para detener la generación de perfiles, vuelve a Visual Studio (Alt + Tab) y elige Detener colección en la página del concentrador de diagnósticos.
Visual Studio analiza los datos recopilados y muestra los resultados.
Recopilar datos de perfil de energía para una aplicación instalada
La herramienta Consumo de energía solo se puede ejecutar en aplicaciones de la Tienda Windows 8.1 que se inicien desde una solución de Visual Studio o se instalen desde la Tienda Windows. Cuando una solución se abre en Visual Studio, el destino predeterminado es Proyecto de inicio. Para establecer el destino de una aplicación instalada:
Elige Cambiar destino y después Aplicación instalada.
En la lista Seleccionar paquete de aplicaciones instalado, elige el destino.
Elige Consumo de energía en la página del concentrador de diagnósticos.
Elige Iniciar para iniciar la generación de perfiles.
Para detener la generación de perfiles, vuelve a Visual Studio (Alt + Tab) y elige Detener colección en la página del concentrador de diagnósticos.
Analizar datos de perfil de energía
Los datos de perfil de energía se muestran en la ventana de documento de Visual Studio:
El archivo de informe se denomina ReportYYYYMMDD-HHMM.diagsession. Puedes cambiar el nombre si decides guardarlo. |
|
La escala de tiempo muestra la longitud de la sesión de generación de perfiles, los eventos de activación del ciclo de vida de la aplicación y las marcas de usuario. |
|
![]() |
Puedes restringir el informe a una parte de la escala de tiempo arrastrando las barras azules para seleccionar una región de esta. |
![]() |
El gráfico Uso de potencia es un gráfico de varias líneas que muestra los cambios producidos en la potencia de salida por un recurso de dispositivo durante una sesión de generación de perfiles. El generador de perfiles Consumo de energía hace un seguimiento de la potencia utilizada por la CPU, la actividad de red y la presentación en pantalla. |
![]() |
El gráfico Recursos (activados/desactivados) proporciona detalles sobre los costos energéticos de red. La barra Red representa el tiempo que estuvo abierta la conexión de red. La barra secundaria Transferencia de datos es el tiempo que la aplicación estuvo recibiendo o enviando datos a través de la red. |
![]() |
El Resumen de uso de energía muestra la cantidad proporcional de la energía total utilizada en la escala de tiempo seleccionada por la CPU, la actividad de red y la presentación en pantalla. |
Para analizar los datos de perfil de energía
Busca un área donde la potencia del recurso presente un pico de actividad. Establece una relación entre el área del pico con la funcionalidad de la aplicación. Después, utiliza las barras de control de la escala de tiempo en la escala de tiempo para acercarte a dicha área. Si deseas centrarte en el uso de la red, expande el nodo Red del gráfico Recursos (activados/desactivados) para comparar el tiempo que estuvo abierta la conexión de red con el tiempo que la aplicación estuvo recibiendo o transfiriendo datos en la conexión. Reducir el tiempo que está la red abierta innecesariamente es un método de optimización muy eficaz.
Optimizar el uso de energía
Además de transmitir datos, las conexiones de red incurren en ciertos costos de energía para inicializar, mantener y cerrar la conexión. Algunas redes mantienen la conexión durante un período de tiempo después de que los datos se hayan enviado o recibido para permitir que se transmitan más datos en una única conexión. Puedes utilizar el panel Recursos (activados/desactivados) para examinar la manera en que la aplicación interactúa con la conexión.
Si las barras Red y Transferencia de datos muestran que la conexión está abierta durante largos períodos para transmitir intermitentemente una serie de pequeños paquetes de datos, puedes procesar por lotes los datos para enviarlos en una transmisión, reduciendo así el tiempo que la red está abierta y los costos energéticos.
Sin embargo, tienes menos control sobre los costos de energía de la pantalla. La mayoría de las pantallas requieren más energía para mostrar colores claros que colores más oscuros, por lo que utilizar un fondo oscuro es una manera de reducir costos.
Otros recursos
Las secciones de estado de la conexión y administración de los costos para C#/VB/C++ y XAML y JavaScript y HTML del Centro de desarrollo de Windows describen las API de Windows que proporcionan información sobre la conectividad de red que puede utilizar tu aplicación para minimizar el costo del tráfico de la red.
El simulador de Visual Studio para la Tienda Windows te permite simular las propiedades de la conexión de datos de las API de información de red. Consulta Ejecutar aplicaciones de la Tienda Windows en el simulador.
Las herramientas Control de tiempo de función de JavaScript y Uso de CPU pueden ayudarle a reducir la carga de la CPU siempre que esté causada por funciones ineficaces Consulte Analizar el uso de CPU en aplicaciones de la Tienda, Recopilar datos de control de tiempo de función de JavaScript en aplicaciones de la Tienda en un equipo local y Recopilar datos de control de tiempo de función de JavaScript en aplicaciones de la Tienda en un equipo remoto