Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 dell'efficacia della tua applicazione nell'usare le risorse del sistema per fare ciò 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 storage 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.
Visual Studio Icon
Visual Studio Profiler delle prestazioni
Visual Studio offre strumenti che consentono di monitorare l'applicazione e fornire approfondimenti riguardo al codice sorgente. Vedere le seguenti risorse per informazioni su come usare questi strumenti per ottimizzare il codice direttamente dall'ambiente di sviluppo.
icona
Windows Performance Toolkit
Windows Performance Recorder e Windows Performance Analyzer abilitare il monitoraggio dettagliato e l'analisi dell'applicazione e dell'intero sistema usando Event Tracing for Windows (ETW). Consulta i collegamenti seguenti per sapere come iniziare.
PerfView
PerfView è uno strumento di monitoraggio e analisi open source creato dal team di .NET per analizzare .NET problemi di prestazioni. Grazie alla possibilità di decodificare i simboli .NET e la memoria gestita, è una scelta ideale per le applicazioni gestite.
Serie di esercitazioni per PerfView
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.
blog sulle prestazioni di .NET
Blog di Visual Studio sulle prestazioni
Community e supporto
- Problemi di performance nel loop compile-debug-test? Segnalarli nel repository Windows Dev Performance in 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.
Roadmap dei contenuti
Le prestazioni possono essere una parte complessa del processo di sviluppo senza le indicazioni corrette. Garantire la disponibilità della corretta documentazione per gli sviluppatori è fondamentale per creare applicazioni più veloci. La roadmap seguente illustra in dettaglio le pagine successive da aggiungere a questo set di documenti e nell'ordine in cui verranno pubblicate. Se viene visualizzato qualcosa che ti piace o qualcosa che manca, comunicaci su GitHub tramite i collegamenti Commenti e suggerimenti nella parte inferiore di questa pagina! Il nostro obiettivo è quello di creare un set di documenti educativi e completi per le prestazioni delle app che soddisfino le esigenze dei clienti. Pertanto, saremo lieti di ricevere il feedback degli utenti. Vi invitiamo a inviare commenti su questa pagina di seguito e suggerimenti sugli argomenti da trattare in merito alle prestazioni delle applicazioni di Windows.
| Argomento | Descrizione |
|---|---|
| Introduzione alle aree di prestazioni | Descrizioni del significato di prestazioni nel contesto di CPU, memoria, GPU e così via. |
| Identificare cosa misurare | A seconda del carico di lavoro, dell'ambiente e di altri fattori, alcune aree delle prestazioni possono essere più importanti di altre. Informazioni su cosa misurare e quando usare questo documento |
| Ciclo di test delle prestazioni | Esaminare il ciclo di vita dei test delle prestazioni, che include la configurazione dell'ambiente di test, l'analisi dei risultati e il miglioramento del prodotto |
| Informazioni sui diversi strumenti per le prestazioni | Questo documento introdurrà altri strumenti per le prestazioni e analizzerà i casi d'uso e le procedure consigliate per l’utilizzo |
| Case study | Una serie di scenari completi e i relativi percorsi attraverso il ciclo di test delle prestazioni |