Compartir a través de


Analizar el uso de energía en las aplicaciones de la Tienda

Se aplica a Windows y a Windows Phone

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.

NotaNota

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.

Capacidad energética, potencia usada, energía total usada

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.

Marcas de usuario en la 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.

NotaNota
  • Windows.Foundation.Diagnostics LoggingChannel implementa la interfaz Windows.Foundation.IClosable (proyectada como System.IDisposable en C# y VB). Para evitar la pérdida de recursos del sistema operativo, llame a LoggingChannel.CloseClose() (Dispose() en C# y VB) cuando haya terminado con un canal de registro.

  • Cada canal de registro abierto debe tener un nombre único.Si se intenta crear un nuevo canal de registro con el nombre de uno no desechado, se produce una excepción.

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.

SugerenciaSugerencia
  • No te recomendamos la generación de perfiles de energía en el simulador de la Tienda Windows ni en el equipo de Visual Studio.La generación de perfiles en el dispositivo real proporciona datos mucho más realistas.

  • Genera el perfil en el dispositivo de destino mientras esté funcionando con baterías.

  • Cierra otras aplicaciones que puedan utilizar los mismos recursos (red, CPU o pantalla).

Recopilar datos de perfil de energía para la aplicación

  1. En el menú Depurar, elige Rendimiento y diagnósticos.

    Elegir Consumo de energía en el concentrador de diagnósticos

  2. Elige Consumo de energía y luego Iniciar.

    NotaNota

    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 .

  3. Ejecuta la aplicación para recopilar datos.

  4. 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.

    Detener recopilación de datos

    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:

  1. Elige Cambiar destino y después Aplicación instalada.

  2. En la lista Seleccionar paquete de aplicaciones instalado, elige el destino.

  3. Elige Consumo de energía en la página del concentrador de diagnósticos.

  4. 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:

Página de informe del generador de perfiles de energía

Paso 1

El archivo de informe se denomina ReportYYYYMMDD-HHMM.diagsession. Puedes cambiar el nombre si decides guardarlo.

Paso 2

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.

Paso 3

Puedes restringir el informe a una parte de la escala de tiempo arrastrando las barras azules para seleccionar una región de esta.

Paso 4

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.

Paso 5

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.

Paso 6

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.

Panel Recursos (activados/desactivados)

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.

Panel de resumen del consumo de energía

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