Condividi tramite


Panoramica delle prestazioni e dei concetti fondamentali delle app di Windows

Ottimizzare le prestazioni e perfezionare i concetti base dell'applicazione dona un'impressione di chiarezza e maestria, consentendo al contempo un risparmio in termini di tempo, denaro, durata della batteria e sforzi di sviluppo. L'app consumerà meno energia, migliorando la durata della batteria e riducendo le emissioni di carbonio. Le applicazioni funzionano con maggiore efficienza su hardware meno costosi. La produttività dei clienti aumenta.

Questa pagina offre una panoramica delle tecnologie e degli strumenti di sviluppo per misurare, comprendere e perfezionare le prestazioni delle applicazioni Windows. Se si sta scrivendo un'applicazione per la piattaforma UWP, è necessario assicurarsi di consultare anche la documentazione sulle prestazioni della piattaforma UWP.

Cosa sono le prestazioni delle applicazioni e perché sono importanti?

Le prestazioni sono la misura di quanto efficacemente la tua applicazione utilizza le risorse del sistema per svolgere le funzioni per cui è stata progettata. Illustra diversi aspetti del modo in cui il programma interagisce con il dispositivo sottostante, tra cui:

  • Utilizzo della CPU
  • Utilizzo della memoria
  • Consumo energetico
  • Utilizzo di rete e storage
  • Prestazioni dell'animazione

A tutte queste proprietà è associato un elemento di costo, ad esempio la quantità di CPU usata dall'applicazione? Qual è la quantità di larghezza di banda dell'utente che utilizzerà? Quanto velocemente viene caricata questa pagina specifica dell'applicazione?

Gli utenti si aspettano prestazioni come proprietà fondamentale del software usato. Vogliono che le applicazioni siano reattive e usino in modo efficiente le risorse del sistema. Le applicazioni che presentano prestazioni scarse causano frustrazione, che può causare una riduzione del coinvolgimento degli utenti. Per offrire ai clienti la migliore esperienza possibile, è quindi fondamentale rendere le prestazioni una parte regolare del flusso di lavoro di sviluppo.

Quando è necessario misurare le prestazioni dell'applicazione?

Le prestazioni dell'applicazione possono estendersi su molte fasi del processo di sviluppo. Ha implicazioni su tutto ciò che va dalla scelta della struttura dei dati alla tecnologia scelta per la compilazione dell'applicazione. Considerare le prestazioni mentre si sviluppa l'applicazione e pianificare di effettuare test regolari delle prestazioni come parte degli aggiornamenti e della manutenzione dell'applicazione.

Come affrontare la misurazione delle prestazioni

Ecco alcuni suggerimenti per l'approccio al test delle prestazioni dell'applicazione.

  • Metti a frutto la tua conoscenza della tua applicazione. Comprendere gli scenari più comuni per gli utenti consentirà di dedicare tempo saggiamente all'ottimizzazione delle cose giuste. Se sono disponibili dati su come gli utenti interagiscono con l'applicazione, è consigliabile esaminarli.
    • Dove gli utenti trascorrono la maggior parte del tempo?
    • Quali sono le cose più importanti che un cliente farà con il software?
    • Quali sono i requisiti hardware dell'applicazione?
  • Impostare gli obiettivi di prestazioni per gli scenari utente più importanti.
  • Essere precisi su ciò che si sta cercando di ottimizzare. Si tratta della CPU? Batteria? Velocità effettiva di rete?
  • Seleziona gli strumenti che userai per le tue misurazioni.
  • Applicare una mentalità scientifica durante i test. Creare dei benchmark in un ambiente controllato. Apportare quindi la modifica e misurare nuovamente il modo in cui le modifiche hanno influenzato il comportamento dell'applicazione.
  • Aggiungere test di regressione nell'ambiente di test. Ciò garantisce che le metriche delle prestazioni non regredisca nel tempo.

Metri intrecciati

Anche se in genere ci si concentrerà su un'area delle prestazioni durante l'analisi, tenere presente che le aree sono spesso intrecciate. Un miglioramento in una area può trascinare un miglioramento nelle altre aree.

Ad esempio, la correzione del consumo di energia è spesso un problema di sincronizzazione. La riduzione dell'utilizzo della memoria può comportare una riduzione del tempo impiegato tramite la CPU. Possono anche verificarsi situazioni in cui risorse aggiuntive spese in un'area producono un miglioramento più significativo in un'altra area, ad esempio l'aumento del consumo di memoria può ridurre l'utilizzo della rete o dell'archiviazione tramite la memorizzazione nella cache.

La decisione di apportare una modifica dipende da ciò che è più importante per i clienti.

Quali strumenti è possibile usare per misurare le prestazioni dell'applicazione?

Sono disponibili diverse opzioni per misurare le prestazioni delle applicazioni Windows.

Se non sei sicuro di quali strumenti scegliere, consulta l'articolo: Scegliere tra Visual Studio Performance Profiler e Windows Performance Toolkit.

Icona di Visual Studio Profiler prestazioni di Visual Studio

Visual Studio offre strumenti che consentono di monitorare la tua applicazione e di ottenere informazioni dettagliate all'interno del codice sorgente. Vedere le seguenti risorse per informazioni su come usare questi strumenti per ottimizzare il codice direttamente dall'ambiente di sviluppo.

Icona di Windows Performance Analyzer Windows Performance Toolkit

Windows Performance Recorder e Analizzatore prestazioni Windows abilitano il monitoraggio e l'analisi dettagliate dell'applicazione e dell'intero sistema usando Event Tracing for Windows (ETW). Consulta i collegamenti seguenti per sapere come iniziare.

Icona di PerfView PerfView

PerfView è uno strumento open source di monitoraggio e analisi creato dal team .NET per analizzare i problemi di prestazioni di .NET. Grazie alla possibilità di decodificare i simboli .NET e la memoria gestita, è una scelta ideale per le applicazioni gestite.

Icona di SizeBench SizeBench

SizeBench è un'utilità che consente di analizzare e ridurre le dimensioni dei file binari compilati in codice nativo (DLL, EXE e altri file PE).

Risorse aggiuntive

Blog e notizie

Scopri cosa succede dietro le quinte con i blog degli sviluppatori, scritti dai nostri esperti di prestazioni, per aiutarti a creare la versione migliore della tua applicazione.

Comunità e supporto

  • Problemi di prestazioni nel ciclo di compilazione-debug-test? Segnalarli nel repository "Windows Dev Performance" su GitHub.

Prestazioni e sostenibilità

L'ingegneria delle prestazioni si interseca direttamente con il movimento che promuove software sostenibili. La maggior parte delle reti elettriche brucia combustibili fossili per generare elettricità. Quando un'applicazione viene eseguita su un PC, consuma una quantità di energia incrementale che può essere minima per un singolo utente, ma che aumenta con l'aumentare della base di utenti.

Si vuole ottenere informazioni su come l'ingegneria delle prestazioni si interseca con la sostenibilità? Consultare i Principi di Green Software Engineering e il blog Software Sostenibile di Microsoft.