Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om du vill skapa appar med bra prestanda bör du utforma och planera för prestanda precis som du skulle utforma andra funktioner i din app. Du kan använda de verktyg som tillhandahålls av Microsoft för att mäta appens prestanda och, om det behövs, förbättra minnesanvändningen, koddataflödet och svarstiden. I det här avsnittet visas de verktyg för prestandaanalys som Microsoft tillhandahåller och länkar till andra ämnen som beskriver prestanda för specifika områden för apputveckling.
Designa och planera för prestanda
Om du vill ha en app med bra prestanda måste du utforma prestanda i din app på samma sätt som du utformar andra funktioner. Du bör fastställa de prestandakritiska scenarierna i din app, ange prestandamål och mäta prestanda för dessa appscenarier tidigt och ofta. Eftersom varje app är olika och har olika prestandakritiska exekveringsvägar kan du maximera produktiviteten genom att identifiera dessa exekveringsvägar i ett tidigt skede och fokusera dina insatser.
Du behöver inte vara helt bekant med din målplattform för att skapa en högpresterande app. Du bör dock utveckla en förståelse för vilka delar av målplattformen som är kostsamma när det gäller prestanda. Du kan göra detta genom att mäta prestanda tidigt i utvecklingsprocessen.
Ta alltid hänsyn till användarupplevelsen för att fastställa vilka områden som är avgörande för prestanda och för att fastställa dina prestandamål. Starttid och svarstid är två viktiga områden som påverkar användarens uppfattning av din app. Om din app använder mycket minne kan det verka trögt för användaren eller påverka andra appar som körs i systemet, eller i vissa fall kan det misslyckas med inlämningsprocessen för Windows Store eller Windows Phone Store. Om du avgör vilka delar av koden som körs oftare kan du också se till att dessa delar av koden är väl optimerade.
Att analysera prestanda
Som en del av din övergripande utvecklingsplan anger du punkter under utvecklingen där du mäter appens prestanda och jämför resultatet med de mål som du angav tidigare. Mät din app i den miljö och maskinvara som du förväntar dig att användarna ska ha. Genom att analysera appens prestanda tidigt och ofta kan du ändra arkitekturbeslut som skulle vara kostsamma och dyra att åtgärda senare i utvecklingscykeln. I följande avsnitt beskrivs prestandaverktyg som du kan använda för att analysera dina appar och diskutera händelsespårning, som används av dessa verktyg.
Prestandaverktyg
Här är några av de prestandaverktyg som du kan använda med dina .NET Framework-appar.
| Verktyg | Beskrivning |
|---|---|
| Prestandaanalys för Visual Studio | Använd för att analysera CPU-användningen för dina .NET Framework-appar som ska distribueras till datorer som kör Windows-operativsystemet. Det här verktyget är tillgängligt från felsökningsmenyn i Visual Studio när du har öppnat ett projekt. Mer information finns i Prestandautforskaren. Obs: Använd Windows Phone Application Analysis (se nästa rad) för Windows Phone. |
| Programanalys för Windows Phone | Använd för att analysera processor- och minnesanvändning, överföringshastighet för nätverksdata, appresponsivitet och batteriförbrukning i dina Windows Phone-appar. Det här verktyget är tillgängligt från felsökningsmenyn för ett Windows Phone-projekt i Visual Studio när du har installerat Windows Phone SDK. Mer information finns i Appprofilering för Windows Phone 8. |
| PerfView | Använd för att identifiera processor- och minnesrelaterade prestandaproblem. Det här verktyget använder händelsespårning för Windows (ETW) och CLR-profilerings-API:er för att tillhandahålla avancerade minnes- och CPU-undersökningar samt information om skräpinsamling och JIT-kompilering. Mer information om hur du använder PerfView finns i blogginläggen. |
| Prestandaanalys för Windows | Använd för att fastställa övergripande systemprestanda, till exempel appens minne och lagringsanvändning när flera appar körs på samma dator. Det här verktyget är tillgängligt från nedladdningscentret som en del av Windows Assessment and Deployment Kit (ADK) för Windows 8. Mer information finns i Windows Performance Analyzer. |
Händelsespårning för Windows (ETW)
ETW är en teknik som gör att du kan hämta diagnostikinformation om att köra kod och är viktig för många av de prestandaverktyg som nämnts tidigare. ETW skapar loggar när vissa händelser genereras av .NET Framework-appar och Windows. Med ETW kan du aktivera och inaktivera loggning dynamiskt så att du kan utföra detaljerad spårning i en produktionsmiljö utan att starta om appen. .NET Framework erbjuder stöd för ETW-händelser, och ETW används av många profilerings- och prestandaverktyg för att generera prestandadata. Dessa verktyg aktiverar och inaktiverar ofta ETW-händelser, så det är bra att känna till dem. Du kan använda specifika ETW-händelser för att samla in prestandainformation om vissa komponenter i din app. Mer information om ETW-stöd i .NET Framework finns i ETW-händelser i Common Language Runtime och ETW Events in Task Parallel Library och PLINQ.
Prestanda efter apptyp
Varje typ av .NET Framework-app har sina egna metodtips, överväganden och verktyg för att utvärdera prestanda. Följande tabell länkar till prestandaämnen för specifika .NET Framework-apptyper.
| Apptyp | Se |
|---|---|
| .NET Framework-appar för alla plattformar |
Skräpinsamling och prestanda Prestandatips |
| Windows 8.x Store-appar skrivna i C++, C#och Visual Basic | Metodtips för prestanda för Windows Store-appar med C++, C#och Visual Basic |
| Windows Presentation Foundation (WPF) | WPF-prestandapaket |
| ASP.NET | Översikt över ASP.NET prestanda |
Relaterade ämnen
| Titel | Beskrivning |
|---|---|
| Cachelagring i .NET Framework-applikationer | Beskriver tekniker för cachelagring av data för att förbättra prestanda i din app. |
| Fördröjd initialisering | Beskriver hur du initierar objekt efter behov för att förbättra prestanda, särskilt vid appstart. |
| Tillförlitlighet | Innehåller information om hur du förhindrar asynkrona undantag i en servermiljö. |
| Skriva stora, dynamiska .NET Framework-appar | Innehåller prestandatips som samlats in från att skriva om C#- och Visual Basic-kompilatorerna i hanterad kod och innehåller flera verkliga exempel från C#-kompilatorn. |