Partilhar via


Visão geral do desempenho e fundamentos da Windows app

Melhorar o desempenho e os fundamentos da sua aplicação dá-lhe uma sensação de polimento e perícia, ao mesmo tempo que poupa tempo, dinheiro, autonomia da bateria e esforço de desenvolvimento aos seus clientes. Seu aplicativo consumirá menos energia, melhorando a vida útil da bateria e reduzindo as emissões de carbono. As aplicações funcionam mais suavemente em hardware menos dispendioso. A produtividade dos seus clientes aumenta.

Esta página fornece uma visão geral das tecnologias e ferramentas de desenvolvimento para medir, entender e refinar o desempenho do seu aplicativo do Windows. Se você estiver escrevendo um aplicativo UWP, consulte também a documentação de Desempenho UWP .

O que é o desempenho do aplicativo e por que ele é importante?

O desempenho é a medida de quão eficazmente a sua aplicação utiliza os recursos do sistema para cumprir com o que foi projetada para fazer. Abrange diferentes aspetos de como o seu programa interage com o dispositivo subjacente, incluindo:

  • Utilização da CPU
  • Consumo de memória
  • Consumo de energia
  • Utilização de rede e storage
  • Atuação em animação

Todas estas propriedades têm um elemento de custo associado: por exemplo, quanta CPU consome a minha aplicação? Quanto da largura de banda do utilizador irá consumir? Quão rápido é que esta página específica da minha candidatura carrega?

Os utilizadores esperam que o desempenho seja uma propriedade fundamental do software que utilizam. Querem que as suas aplicações sejam responsivas e façam uso eficiente dos recursos do seu sistema. Aplicações que apresentam baixo desempenho causam frustração, o que pode levar a uma redução do envolvimento dos utilizadores. Para proporcionar aos seus clientes a melhor experiência possível, é por isso crucial tornar o desempenho uma parte regular do seu fluxo de trabalho de desenvolvimento.

Quando deve medir o desempenho da aplicação?

O desempenho da aplicação pode abranger várias fases do processo de desenvolvimento. Tem implicações em tudo, desde a escolha da estrutura de dados até à tecnologia que escolhe para construir a sua aplicação. Tenha o desempenho em mente enquanto desenvolve a sua aplicação e planeie to do testes regulares de desempenho como parte da atualização e manutenção da sua aplicação.

Como abordar a medição de desempenho

Aqui ficam algumas sugestões sobre como abordar a avaliação do desempenho da sua aplicação.

  • Aproveite o seu conhecimento da aplicação. Compreender os cenários mais comuns para os seus utilizadores permitirá que gaste o seu tempo de forma inteligente a otimizar as coisas certas. Se tiver dados disponíveis sobre como os utilizadores interagem com a sua aplicação, este seria um ótimo momento para os analisar.
    • Onde é que os seus utilizadores passam a maior parte do tempo?
    • Quais são as coisas mais importantes que um cliente fará com o seu software?
    • Quais são os requisitos de hardware da sua aplicação?
  • Defina objetivos de desempenho para os seus cenários de utilizador mais importantes.
  • Sê preciso sobre o que queres otimizar. Trata-se da CPU? Bateria? Rendimento de rede?
  • Selecione as ferramentas que você vai usar para fazer suas medições.
  • Aplica uma mentalidade científica ao testar. Estabeleça benchmarks num ambiente controlado. Depois, faça a sua alteração e volte a medir para ver como as alterações afetaram o comportamento da sua aplicação.
  • Adicione testes de regressão ao seu ambiente de teste. Isto garantirá que as suas métricas de desempenho não regrediam com o tempo.

Métricas entrelaçadas

Embora normalmente se concentre numa área de desempenho durante a sua análise, tenha em atenção que as áreas estão frequentemente interligadas. Uma melhoria numa pode desencadear numa melhoria nas outras áreas.

Por exemplo, corrigir o consumo de energia é frequentemente um problema de sincronização. Reduzir o uso de memória pode resultar na diminuição do tempo gasto a usar a CPU. Também podem existir situações em que recursos adicionais gastos numa área produzam uma melhoria mais impactante noutra—por exemplo, aumentar o consumo de memória pode diminuir a utilização da rede ou do storage através do cache.

A decisão de mudar depende do que é mais importante para os seus clientes.

Que ferramentas posso usar para medir o desempenho do aplicativo?

Há uma variedade de opções diferentes disponíveis para medir o desempenho do seu aplicativo do Windows.

Se não tiver a certeza de que ferramentas escolher, consulte o artigo: Escolher entre Visual Studio Performance Profiler e Windows Performance Toolkit.

Visual Studio Icon Visual Studio Perfil de Desempenho

O Visual Studio oferece ferramentas para o ajudar a monitorizar a sua aplicação e fornecer insights dentro da sua fonte. Visite os recursos abaixo para saber como você pode usar essas ferramentas para otimizar seu código diretamente do seu ambiente de desenvolvimento.

Windows Performance Analyzer Icon Windows Performance Toolkit

Windows Performance Recorder e Windows Performance Analyzer permitem monitorização e análise detalhadas da sua aplicação e de todo o sistema utilizando Event Tracing for Windows (ETW). Consulte os links abaixo sobre como iniciar.

Ícone do PerfView PerfView

O PerfView é uma ferramenta open source de monitorização e análise criada pela equipa do .NET para investigar problemas de desempenho do .NET. Devido à sua capacidade de decodificar símbolos .NET e memória gerida, é uma escolha ideal para aplicações geridas.

SizeBench Ícone SizeBench

SizeBench é um utilitário que ajuda você a investigar e reduzir o tamanho de seus binários de código nativo compilados (DLLs, EXEs e outros arquivos PE).

Recursos adicionais

Blogs e notícias

Vá aos bastidores com blogs de desenvolvedores, escritos por nossos especialistas em desempenho para capacitar a criação da melhor versão do seu aplicativo.

Comunidade e apoio

  • Problemas de desempenho no seu ciclo de compilação-depuração-teste? Reporte-os no repositório Windows Dev Performance no GitHub.

Desempenho e Sustentabilidade

A engenharia de desempenho cruza-se diretamente com o movimento do software sustentável. A maioria das redes elétricas queima combustíveis fósseis para gerar eletricidade. À medida que seu aplicativo é executado em um PC, ele consome energia incremental que pode ser pequena para um único usuário, mas aumenta à medida que sua base de usuários cresce.

Interessado em saber como a engenharia de desempenho se cruza com a sustentabilidade? Confira os Princípios de Engenharia de Software Verde e o blog Software Sustentável da Microsoft.

Nosso roteiro de conteúdo

O desempenho pode ser uma parte complicada do seu processo de desenvolvimento sem a orientação correta. Garantir que a documentação certa esteja disponível para desenvolvedores de aplicativos é fundamental para criar aplicativos mais rápidos. O roteiro abaixo detalha as próximas páginas a serem adicionadas a este conjunto de documentos e na ordem em que serão publicadas. Se vires algo de que gostes ou que falta, diz-nos no GitHub através dos links de Feedback no final desta página! Nosso objetivo é organizar um conjunto de documentos completo e educacional para o desempenho do aplicativo que atenda às suas necessidades, por isso adoraríamos ouvir sua opinião. Sinta-se bem-vindo para enviar comentários para esta página abaixo com suas recomendações sobre o que você gostaria de ver coberto em relação ao desempenho do aplicativo Windows.

Tópico Descrição
Introdução às áreas de atuação Descrições do que significa desempenho no contexto de CPU, memória, GPU, etc.
Identificar o que medir Dependendo da sua carga de trabalho, ambiente e outros fatores, certas áreas de desempenho podem ser mais focadas do que outras. Saiba o que medir e quando com este documento
Ciclo de testes de desempenho Acompanhe conosco durante o ciclo de vida de testes de desempenho, que inclui configurar seu ambiente de teste, analisar seus resultados e fazer melhorias no produto
Compreender as diferentes ferramentas de desempenho Este documento apresentará mais ferramentas de desempenho e analisará os casos de uso e as práticas recomendadas para usá-las
Estudos de caso Uma série de cenários de ponta a ponta e suas jornadas através do ciclo de testes de desempenho