Differenza tra prestazioni percepite e prestazioni effettive

In ultima analisi, il giudizio sulle prestazioni di un'applicazione spetta agli utenti. Gli sviluppatori possono misurare le prestazioni in termini di tempo necessario per l'esecuzione delle operazioni o di numero di istanze di oggetti che vengono create. Queste metriche, tuttavia, sono poco significative per gli utenti finali. A volte gli utenti misurano le prestazioni in base a criteri diversi. Ad esempio, l'applicazione funziona velocemente e senza problemi e risponde rapidamente all'input? Ha un impatto negativo sulle prestazioni del sistema? Per valutare le prestazioni percepite di un'applicazione, provate a porvi le seguenti domande:

  • Le animazioni vengono riprodotte in maniera fluida o discontinua?

  • I contenuti video vengono riprodotti in maniera fluida o discontinua?

  • I clip audio vengono riprodotti senza interruzioni o in maniera frammentaria?

  • La finestra è soggetta a problemi di sfarfallio o scomparsa del contenuto durante le operazioni più lunghe?

  • Il testo digitato viene visualizzato in tempo reale o con ritardo?

  • I clic del mouse producono un effetto immediato o si verifica un ritardo?

  • La ventola della CPU produce un rumore più forte durante l'esecuzione dell'applicazione?

  • Su un laptop o un dispositivo mobile, la batteria si scarica rapidamente quando viene eseguita l'applicazione?

  • Le prestazioni delle altre applicazioni peggiorano durante l'esecuzione dell'applicazione?

La differenza tra prestazioni percepite ed effettive è importante. Il modo di ottenere prestazioni percepite ottimali non corrisponde sempre a quello che consente di raggiungere le prestazioni più rapide in assoluto. Verificate che l'applicazione non esegua mai una quantità di codice tale da impedire al runtime di aggiornare lo schermo e acquisire l'input dell'utente con la frequenza prevista. In alcuni casi, per raggiungere un equilibrio ottimale dovrete suddividere un'attività del programma in più parti in modo che il runtime aggiorni lo schermo tra una parte e l'altra. Per istruzioni specifiche, vedete Prestazioni di rendering .

Le tecniche e i suggerimenti riportati di seguito consentono di migliorare sia le prestazioni percepite dagli utenti che le prestazioni effettive a livello di esecuzione del codice.