Analisar o uso de energia em aplicativos da Store

Aplica-se ao Windows e Windows Phone

O criador de perfil Consumo de Energia do Visual Studio ajuda você a analisar o consumo de energia de aplicativos da Windows Store em dispositivos tablet de baixa capacidade que são executados o tempo todo ou parte do tempo apenas com o uso da bateria. Em um dispositivo alimentado por bateria, um aplicativo que consome muita energia pode causar grande insatisfação do cliente fazendo com que ele acabe desinstalando o programa. A otimização do consumo de energia pode aumentar a adoção e o uso de seu aplicativo pelos clientes.

Conteúdo

O que é o criador de perfil Consumo de Energia, como ele funciona e o que mede

Identificar cenários com marcas de usuário

Configurar o ambiente para criação de perfil

Coletar dados do perfil de energia para seu aplicativo

Coletar dados do perfil de energia para um aplicativo instalado

Analisar dados do perfil de energia

Otimizar o consumo de energia

Outros recursos

O que é o criador de perfil Consumo de Energia, como ele funciona e o que mede

O criador de perfil Consumo de Energia captura as atividades do monitor, da CPU e das conexões de rede de um dispositivo durante a uma sessão de criação de perfil. Em seguida, ela gera estimativas da energia consumida por essas atividades e a quantidade total de energia para a sessão de criação de perfil.

Dica

O criador de perfil de energia calcula uso de potência e energia por meio de um modelo de software de hardware padrão de dispositivo de referência que representa os tablets de baixa potência nos quais seu aplicativo possa estar sendo executado.Para fornecer as melhores estimativas, recomendamos coletar os dados do perfil em um tablet de baixa potência.

Embora o modelo forneça boas estimativas para diversos dispositivos de baixa potência, os valores reais do dispositivo analisado provavelmente serão diferentes.Use os valores para localizar as atividades do monitor, da CPU e de rede que são dispendiosas em relação a outros usos de recursos e que portanto podem ser bons candidatos para otimização.

O criador de perfil Consumo de Energia usa estas definições de potência e energia:

  • Potência mede a taxa com que a força é usada para executar o trabalho realizado em determinado período. Na ciência elétrica, a unidade padrão de potência é watt, que é definida como a taxa em que o trabalho é realizado quando um ampère de corrente passa pela diferença potencial elétrica de um volt. No gráfico Consumo de Energia, as unidades são exibidas como miliwatts mW que são um milésimo (10 -3) de um watt.

    Observe que, como a potência é uma taxa, ela tem uma direção (o trabalho pode aumentar ou diminuir em um período) e uma velocidade (quanto o trabalho aumenta ou diminui).

  • Energia mede a potência total, como capacidade ou potencial, como na capacidade de alimentação de uma bateria ou como no total de energia consumido durante um período. A unidade de energia é um watt-hora, a potência de um watt constantemente aplicada por uma hora. No Resumo de Energia, as unidades são exibidas como miliwatt-horas mW-h.

Capacidade de energia, energia consumida, toda a energia usada

Por exemplo, uma bateria totalmente carregada em um tablet tem uma determinada quantidade de energia armazenada. Como a energia é usada para executar tarefas como comunicação por rede, cálculo de valores ou exibição de gráficos, a energia da bateria se dissipa em diferentes taxas. Para qualquer período, a potência total consumida também é medida por energia.

Identificar cenários com marcas de usuário

Você também pode adicionar marcas do usuário aos seus dados de perfil para ajudar a identificar áreas na régua da linha do tempo.

Marcas de usuário na linha do tempo

A marca aparece como um triângulo laranja na linha de tempo no momento em que o método é executado. A mensagem e a hora são exibidas como uma dica de ferramenta quando você passa o cursor do mouse sobre a marca. Se duas ou mais marcas de usuário ficarem próximas, elas serão mescladas e os dados de dica de ferramenta serão combinados. Você pode aplicar zoom na linha de tempo para separar as marcas.

Adicionar marcas a código C#, Visual Basic, C++

Para adicionar uma marca de usuário ao código C#, Visual Basic e C++, crie primeiro um objeto Windows.Foundation.Diagnostics LoggingChannel. Em seguida, insira chamadas para os métodos LoggingChannel.LogMessage nos pontos do código que você deseja marcar. Use LoggingLevel.Information nas chamadas.

Quando o método é executado, uma marca de usuário é adicionada aos dados de criação de perfil juntamente com uma mensagem.

Dica

  • Windows.Foundation.Diagnostics LoggingChannel implementa a interface Windows.Foundation.IClosable (projetada como System.IDisposable no C# e VB).Para evitar perda de recursos do sistema operacional, chame LoggingChannel.CloseClose() (Dispose()no C# e VB) quando terminar o canal de registro em log.

  • Cada canal de registro em log aberto deve ter um nome exclusivo.Tentar criar um novo canal de registro em log com o mesmo nome de um canal não descartado gera uma exceção.

Veja a Amostra do Windows SDK Amostra LoggingSession para obter mais exemplos.

Adicionar marcas ao código JavaScript

Para adicionar marcas do usuário, adicione o seguinte código nos pontos do código que você deseja marcar:

if (performance && performance.mark) {
    performance.mark(markDescription);
}

markDescription é uma cadeia de caracteres que contém a mensagem a ser exibida na dica de ferramenta da marca do usuário.

Configurar o ambiente para criação de perfil

Para obter boas estimativas, você deverá criar o perfil de consumo de energia do aplicativo em um dispositivo de baixa potência alimentado por bateria. Como o Visual Studio não funciona na maioria desses dispositivos, você precisará conectar seu computador com o Visual Studio ao dispositivo usando as ferramentas remotas do Visual Studio. Para se conectar a um dispositivo remoto, você precisa configurar o projeto do Visual Studio e o dispositivo remoto. Consulte Executar aplicativos da Windows Store em uma máquina remota a partir do Visual Studio para obter mais informações.

Dica

  • Não é recomendável criar o perfil de energia no simulador da Windows Store ou no computador que contém o Visual Studio.A criação de perfil no dispositivo real fornece dados muito mais realistas.

  • Crie o perfil no dispositivo de destino enquanto ele é alimentado por bateria.

  • Feche outros aplicativos que possam usar os mesmos recursos (rede, CPU ou tela).

Coletar dados do perfil de energia para seu aplicativo

  1. No menu Depurar, escolha Desempenho e Diagnóstico.

    Escolha o consumo de energia no hub de diagnóstico

  2. Selecione Consumo de Energia e Iniciar.

    Dica

    Ao iniciar o criador de perfil Consumo de Energia, talvez você veja uma janela Controle de Conta de Usuário solicitando sua permissão para executar o arquivo VsEtwCollector.exe.Selecione Sim.

  3. Ative seu aplicativo para coletar dados.

  4. Para interromper a criação do perfil, retorne ao Visual Studio (Alt + Tab) e selecione Pare a coleta na página Hub de diagnóstico.

    Interromper a coleta de dados

    O Visual Studio analisa os dados coletados e exibe os resultados.

Coletar dados do perfil de energia para um aplicativo instalado

A ferramenta Consumo de Energia só pode ser executada nos aplicativos da Windows Store 8.1 que são iniciados a partir de uma solução do Visual Studio ou são instalados a partir da Windows Store. Quando uma solução é aberta no Visual Studio, o destino padrão é Projeto de Inicialização. Para direcionar um aplicativo instalado:

  1. Escolha Alterar Destino e escolha Aplicativo Instalado.

  2. Na lista Selecionar Pacote de Aplicativos Instalado, escolha o destino.

  3. Escolha Consumo de Energia na página de hub de diagnóstico.

  4. Escolha Iniciar para iniciar a análise.

Para interromper a criação do perfil, retorne ao Visual Studio (Alt + Tab) e selecione Pare a coleta na página Hub de diagnóstico.

Analisar dados do perfil de energia

Os dados do perfil de energia são exibidos na janela do documento do Visual Studio:

Página de relatório do criador de perfil de energia

Etapa 1

O arquivo de relatório é chamado de RelatórioYYYYMMDD-HHMM.diagsession. Você poderá alterar o nome se decidir salvar o relatório.

Etapa 2

A linha de tempo mostra a duração da sessão de criação de perfil, os eventos de ativação de ciclo de vida do aplicativo e as marcas de usuário.

Etapa 3

Você pode restringir o relatório a uma parte da linha do tempo arrastando as barras azuis para selecionar uma região da linha do tempo.

Etapa 4

O gráfico Consumo de Energia é um gráfico de várias linhas que exibe a alteração na saída de potência causada por um recurso do dispositivo durante uma sessão de criação de perfil. O criador de perfil Consumo de Energia controla a energia usada pela CPU, pela atividade de rede e pelo monitor.

Etapa 5

O gráfico Recursos (Ativado/Desativado) fornece detalhes dos custos de energia de rede. A barra Rede representa o tempo em que a conexão de rede permaneceu aberta. A barra filho Transferência de Dados corresponde ao tempo em que o aplicativo recebeu ou enviou dados pela rede.

Etapa 6

O Resumo do Consumo de Energia mostra a quantidade proporcional de energia total usada na linha do tempo selecionada pela CPU, pela atividade de rede e pela tela.

Para analisar os dados do perfil de energia

Localize uma área onde tenha ocorrido pico de energia do recurso. Relacione a área de pico à funcionalidade do aplicativo. Use as barras de controle na linha do tempo para ampliar a área. Se você estiver centrado no uso de rede, expanda o nó Rede no gráfico Recursos (Ativado/Desativado) para comparar o tempo em que a conexão de rede esteve aberta com o tempo em que o aplicativo recebeu ou transferiu dados pela conexão. Reduzir o tempo em que a rede esteve aberta desnecessariamente é uma otimização muito eficiente.

Otimizar o consumo de energia

Além de transmitir dados, as conexões de rede implicam custos de energia para inicializar, manter e encerrar a conexão. Algumas redes mantêm a conexão por um período depois que os dados são enviados ou recebidos para permitir que mais dados sejam transmitidos por uma única conexão. Você pode usar o painel Recursos (Ativado/Desativado) para examinar a maneira como seu aplicativo interage com a conexão.

Painel recursos (ativado/desativado)

Se as barras Rede e Transferência de Dados mostrarem que a conexão está aberta por um longo período para transmitir uma série de pacotes pequenos de dados de maneira intermitente, você poderá dividir os dados em lotes para enviá-los em uma transmissão, reduzir o tempo em que a rede fica aberta, e, portanto, poupar custos de energia.

Painel de resumo de consumo de energia

Você tem menos controle sobre os custos de energia da tela. A maioria das telas exige mais energia para exibir cores claras do que cores mais escuras, portanto, usar um plano de fundo escuro é uma maneira de reduzir custos.

Outros recursos