Desempenho percebido versus desempenho real

Os últimos juízes do aplicativo ter bom desempenho são os usuários do aplicativo. Os desenvolvedores podem medir o desempenho do aplicativo em termos de quantidade de tempo que certas operações demoram para executar ou quantos ocorrências de objetos são criadas. No entanto, essas medidas não são importantes para os usuários finais. Algumas vezes os usuários avaliam o desempenho com critérios diferentes. Por exemplo, o aplicativo opera mais rápida e suavemente e responde mais rapidamente às entradas? Tem um efeito negativo no desempenho do sistema? Faça a si mesmo essas perguntas, que são testes de desempenho percebido:

  • As animações são uniformes ou cortadas?

  • O conteúdo do vídeo parece uniforme ou cortado?

  • Os clipes de áudio reproduzem continuamente ou são interrompidos e depois recomeçam?

  • A janela pisca ou fica em branco durante operações longas?

  • Quando digito, a entrada de texto mantém-se no lugar ou fica para trás?

  • Quando clico, acontece alguma coisa imediatamente ou há um atraso?

  • O som do ventilador da CPU fica mais alto quando o aplicativo executa?

  • Em laptops ou dispositivos portáteis, a bateria acaba rapidamente ao executar o aplicativo?

  • Os outros aplicativos não respondem bem quando o aplicativo está em execução?

A diferença entre desempenho percebido e desempenho real é importante, porque a maneira de alcançar o melhor desempenho percebido nem sempre é a mesma maneira de obter o desempenho mais rápido absoluto. Certifique-se de que o aplicativo nunca execute excessivamente o código de forma que o tempo de execução não consiga atualizar a tela e reunir entradas do usuário com frequência. Em alguns casos, alcançar esse equilíbrio envolve dividir a tarefa do programa em partes para que, entre as partes, o tempo de execução atualize a tela. Consulte Desempenho da renderização para obter orientação específica).

As dicas e as técnicas descritas neste documento objetivam melhorias no desempenho da execução do código real e na maneira como os usuários percebem o desempenho.