Condividi tramite


Prestazioni di .NET Framework

Se vuoi creare app con prestazioni elevate, devi progettare e pianificare le prestazioni esattamente come per qualsiasi altra funzionalità dell'app. È possibile usare gli strumenti forniti da Microsoft per misurare le prestazioni dell'app e, se necessario, apportare miglioramenti all'uso della memoria, alla velocità effettiva del codice e alla velocità di risposta. Questo argomento elenca gli strumenti di analisi delle prestazioni forniti da Microsoft e fornisce collegamenti ad altri argomenti che illustrano le prestazioni per aree specifiche di sviluppo di app.

Progettazione e pianificazione delle prestazioni

Se vuoi un'app con prestazioni ottimali, devi progettare prestazioni nell'app esattamente come per qualsiasi altra funzionalità. È consigliabile determinare gli scenari critici per le prestazioni nell'app, impostare gli obiettivi di prestazioni e misurare le prestazioni per questi scenari di app in anticipo e spesso. Poiché ogni app è diversa e ha diversi percorsi di esecuzione critici per le prestazioni, determinando i percorsi in anticipo e concentrandoti gli sforzi ti consentono di ottimizzare la produttività.

Non è necessario avere familiarità con la piattaforma di destinazione per creare un'app ad alte prestazioni. Tuttavia, è necessario sviluppare una comprensione delle parti della piattaforma di destinazione costose in termini di prestazioni. A tale scopo, è possibile misurare le prestazioni nelle prime fasi del processo di sviluppo.

Per determinare le aree cruciali per le prestazioni e per stabilire gli obiettivi di prestazioni, considerare sempre l'esperienza utente. Il tempo di avvio e la velocità di risposta sono due aree chiave che influiscono sulla percezione dell'app da parte dell'utente. Se la tua app usa molta memoria, potrebbe sembrare lenta per l'utente o influire sulle altre app in esecuzione nel sistema o, in alcuni casi, potrebbe non riuscire il processo di invio a Windows Store o Windows Phone Store. Inoltre, se si determinano le parti del codice eseguite più frequentemente, è possibile assicurarsi che queste parti del codice siano ottimizzate correttamente.

Analisi delle prestazioni

Come parte del piano di sviluppo complessivo, impostare i punti durante lo sviluppo in cui si misurano le prestazioni dell'app e confrontare i risultati con gli obiettivi impostati in precedenza. Misura la tua app nell'ambiente e con l'hardware che ti aspetti che i tuoi utenti abbiano. Analizzando le prestazioni dell'app in anticipo e spesso è possibile modificare le decisioni dell'architettura che sarebbero costose e costose da correggere in un secondo momento nel ciclo di sviluppo. Le sezioni seguenti descrivono gli strumenti per le prestazioni che è possibile usare per analizzare le app e discutere la traccia degli eventi, usata da questi strumenti.

Strumenti per le prestazioni

Ecco alcuni degli strumenti per le prestazioni che è possibile usare con le app .NET Framework.

Strumento Descrizione
Analisi delle prestazioni di Visual Studio Usare per analizzare l'utilizzo della CPU delle app .NET Framework che verranno distribuite nei computer che eseguono il sistema operativo Windows.

Questo strumento è disponibile dal menu Debug in Visual Studio dopo aver aperto un progetto. Per altre informazioni, vedere Esplora prestazioni. Nota: Usa l'analisi delle applicazioni di Windows Phone (vedi la riga successiva) quando la destinazione è Windows Phone.
Analisi delle applicazioni Windows Phone Usare per analizzare la CPU e la memoria, la velocità di trasferimento dei dati di rete, la velocità di risposta dell'app e il consumo di batteria nelle app di Windows Phone.

Questo strumento è disponibile dal menu Debug per un progetto Windows Phone in Visual Studio dopo l'installazione di Windows Phone SDK. Per altre informazioni, vedere Profilatura delle app per Windows Phone 8.
PerfView Usare per identificare i problemi di prestazioni relativi alla CPU e alla memoria. Questo strumento usa la traccia eventi per Windows (ETW) e le API di profilatura CLR per fornire indagini avanzate sulla memoria e sulla CPU, nonché informazioni sulla garbage collection e la compilazione JIT. Per altre informazioni su come usare PerfView, vedere i post di blog.
Windows Performance Analyzer Utilizza questo strumento per determinare le prestazioni complessive del sistema, come l'uso della memoria e dell'archiviazione dell'app, quando più applicazioni sono in esecuzione sullo stesso computer. Questo strumento è disponibile nell'area download come parte di Windows Assessment and Deployment Kit (ADK) per Windows 8. Per altre informazioni, vedere Windows Performance Analyzer.

Traccia eventi per Windows (ETW)

ETW è una tecnica che consente di ottenere informazioni di diagnostica sull'esecuzione del codice ed è essenziale per molti degli strumenti per le prestazioni indicati in precedenza. ETW crea log quando vengono generati eventi specifici da app .NET Framework e Windows. Con ETW è possibile abilitare e disabilitare la registrazione in modo dinamico, in modo da poter eseguire la traccia dettagliata in un ambiente di produzione senza riavviare l'app. .NET Framework offre supporto per gli eventi ETW e ETW viene usato da molti strumenti di profilatura e prestazioni per generare dati sulle prestazioni. Questi strumenti spesso abilitano e disabilitano gli eventi ETW, quindi la familiarità con essi è utile. Puoi usare eventi ETW specifici per raccogliere informazioni sulle prestazioni su componenti specifici dell'app. Per altre informazioni sul supporto ETW in .NET Framework, vedere Eventi ETW in Common Language Runtime ed eventi ETW in Task Parallel Library e PLINQ.

Prestazioni per tipo di app

Ogni tipo di app .NET Framework ha procedure consigliate, considerazioni e strumenti specifici per la valutazione delle prestazioni. La tabella seguente include collegamenti ad argomenti sulle prestazioni per tipi di app .NET Framework specifici.

Tipo di app Visualizza
App .NET Framework per tutte le piattaforme Garbage Collection e prestazioni

Suggerimenti sulle prestazioni
App di Windows 8.x Store scritte in C++, C# e Visual Basic Procedure consigliate per le prestazioni per le app di Windows Store con C++, C# e Visual Basic
WPF (Windows Presentation Foundation) Famiglia di prodotti per l'analisi delle prestazioni WPF
ASP.NET Panoramica delle prestazioni di ASP.NET
Titolo Descrizione
memorizzazione nella cache nelle applicazioni .NET Framework Descrive le tecniche per la memorizzazione nella cache dei dati per migliorare le prestazioni nell'app.
Inizializzazione differita Descrive come inizializzare gli oggetti in base alle esigenze per migliorare le prestazioni, in particolare all'avvio dell'app.
Affidabilità Fornisce informazioni sulla prevenzione delle eccezioni asincrone in un ambiente server.
Scrittura di app .NET Framework di grandi dimensioni e reattive Fornisce suggerimenti sulle prestazioni raccolti dalla riscrittura dei compilatori C# e Visual Basic nel codice gestito e include diversi esempi reali del compilatore C#.