Delen via


Bekijk eerst de profileringshulpprogramma's (C#, Visual Basic, C++, F#)

Hulpprogramma's voor het meten van toepassingsprestaties zijn essentieel voor ontwikkelaars die hun code willen optimaliseren en de prestaties van toepassingen willen verbeteren. Visual Studio biedt verschillende hulpprogramma's voor profilering en diagnostische gegevens waarmee u geheugen- en CPU-gebruik en andere problemen op toepassingsniveau kunt diagnosticeren. Met deze hulpprogramma's kunt u prestatiegegevens verzamelen terwijl u uw toepassing uitvoert. Met een profiler kunt u snel weloverwogen beslissingen nemen door een visuele weergave van uitvoeringstijden en CPU-gebruik voor uw toepassing te bieden. In dit artikel bekijken we de meest voorkomende profileringshulpprogramma's.

Zie Welk hulpprogramma moet ik gebruiken voor hulp bij het kiezen van het juiste hulpprogramma of om de ondersteuning van profileringsprogramma's voor verschillende app-typen te bekijken? Zie Casestudy: Handleiding voor het optimaliseren van codevoor beginners voor een zelfstudie waarin een algemene benadering wordt getoond voor het optimaliseren van code met behulp van de profileringshulpprogramma's.

Voor de beste ervaring met deze documentatie kiest u de gewenste ontwikkeltaal of runtime in de lijst bovenaan het artikel.

Prestaties meten in release-builds

Hulpprogramma's in de Performance Profiler zijn bedoeld om analyses te bieden voor release builds. In de Performance Profiler kunt u diagnostische gegevens verzamelen terwijl de app wordt uitgevoerd en vervolgens de verzamelde gegevens onderzoeken nadat de app is gestopt (een post-mortem-analyse).

Open de Performance Profiler door te kiezen voor Foutopsporing>Performance Profiler (of Alt + F2).

schermafbeelding van Performance Profiler.

Schermafbeelding van Performance Profiler.

Zie voor meer informatie over het gebruik van het hulpprogramma CPU-gebruik of geheugengebruik van de prestatieprofiler ten opzichte van de debugger-geïntegreerde tools, Hulpprogramma's voor profilering uitvoeren op release- of foutopsporingsversies.

Hulpprogramma's die beschikbaar zijn in de Performance Profiler zijn onder andere:

Zie Welk hulpprogramma moet ik gebruiken om de ondersteuning voor profileringsprogramma's voor verschillende typen apps te zien?.

In sommige scenario's kunt u in het venster meerdere profileringshulpprogramma'sselecteren. Hulpprogramma's zoals CPU-gebruik bieden mogelijk aanvullende gegevens die u kunt gebruiken om u te helpen bij uw analyse. U kunt ook de opdrachtregel profiler gebruiken om scenario's met meerdere profileringshulpprogramma's in te schakelen.

Prestaties meten tijdens foutopsporing

De profileringsprogramma's die u tijdens een foutopsporingssessie kunt openen, zijn beschikbaar in het venster Diagnostische hulpprogramma's. Het venster Diagnostische hulpprogramma's wordt automatisch weergegeven, tenzij u het hebt uitgeschakeld. Als u het venster wilt openen, klikt u op Foutopsporing/Windows/Diagnostische hulpprogramma's weergeven (of drukt u op Ctrl + Alt + F2). Wanneer het venster is geopend, kunt u hulpprogramma's selecteren waarvoor u gegevens wilt verzamelen.

venster Diagnostische hulpprogramma's

Terwijl u foutopsporing gebruikt, kunt u het venster Diagnostische hulpprogramma's gebruiken om CPU, geheugengebruik, .NET-tellers te analyseren en kunt u gebeurtenissen weergeven die prestatiegerelateerde informatie weergeven.

venster Diagnostische hulpprogramma's

Terwijl u fouten opspoort, kunt u het diagnostische hulpprogramma's venster gebruiken om CPU- en geheugengebruik te analyseren en kunt u gebeurtenissen weergeven die prestatiegerelateerde informatie weergeven.

Overzichtsweergave Diagnostische hulpprogramma's

Overzichtsweergave Diagnostische hulpprogramma's

Het Diagnostische hulpprogramma-venster is een veelgebruikte manier om apps te profilen, maar voor Release builds kunt u in plaats daarvan ook een post-mortem analyse van uw app uitvoeren. Voor meer informatie over verschillende benaderingen, zie Voer profileringstools uit op release- of debug-versies. Zie Welk hulpprogramma moet ik gebruiken om de ondersteuning voor profileringsprogramma's voor verschillende typen apps te zien?.

Hulpprogramma's die beschikbaar zijn in het venster Diagnostische hulpprogramma's of tijdens een foutopsporingssessie zijn onder andere:

Tip

Gebruik opnieuw starten om de startpagina over te slaan en automatisch uit te voeren met uw vorige instellingen door op Alt+F2- te drukken of door te klikken op Foutopsporing > Performance Profiler-.

Notitie

Windows 8 en hoger is vereist voor het uitvoeren van profileringsprogramma's met het foutopsporingsprogramma (Diagnostische hulpprogramma's venster).

CPU-gebruik analyseren

Het hulpprogramma CPU-gebruik is een goede plek om te beginnen met het analyseren van de prestaties van uw app. U krijgt meer informatie over CPU-resources die door uw app worden gebruikt. U kunt het hulpprogramma voor foutopsporingsprogramma voor cpu-gebruik of het hulpprogramma voor na het afkeuringsgebruik van cpu-gebruikgebruiken.

Wanneer u de debugger-geïntegreerde CPU-gebruikstool gebruikt, opent u het venster Diagnostische hulpprogramma's (als dit is gesloten, kiest u Debug / Windows / Diagnostische hulpprogramma's weergeven). Tijdens foutopsporing, open de weergave Samenvatting en selecteer CPU-profiel opnemen.

CPU-gebruik inschakelen in diagnostische hulpprogramma's

CPU-gebruik inschakelen in diagnostische hulpprogramma's

Een manier om het hulpprogramma te gebruiken, is het instellen van twee onderbrekingspunten in uw code, één aan het begin en een aan het einde van de functie of het codegebied dat u wilt analyseren. Bekijk de profielgegevens wanneer u bij het tweede onderbrekingspunt bent gepauzeerd.

In de weergave CPU-gebruik ziet u een lijst met functies die gesorteerd is op looptijd, met de langstlopende functie bovenaan in topfuncties. In de sectie Dynamisch pad ziet u de aanroepstack voor de functies die de meeste CPU gebruiken. Deze lijsten kunnen u helpen bij functies waar prestatieknelpunten optreden.

weergave CPU-gebruik van diagnostische hulpprogramma's

In de weergave CPU-gebruik ziet u een lijst met functies, gerangschikt op langste uitvoeringstijd, met bovenaan de langst lopende functie. Dit kan u helpen bij functies waar prestatieknelpunten optreden.

weergave CPU-gebruik van diagnostische hulpprogramma's

Klik op een functie waarin u geïnteresseerd bent en u ziet een gedetailleerdere aanroepstructuur weergave, met de geselecteerde functie gemarkeerd. nl-NL: De tabel bevat kolommen met gegevens, zoals de tijd besteed in de functie inclusief aangeroepen functies (Totale CPU), en een tweede kolom die de tijd toont besteed in een functie, exclusief aangeroepen functies (Zelf-CPU). Met deze gegevens kunt u evalueren of de functie zelf een knelpunt voor prestaties is.

Tip

Visual Studio Profiler ondersteunt zowel het verzamelen als weergeven van traceringen. De profiler kan ook traceringen bekijken die eerder zijn verzameld door andere hulpprogramma's, zoals dotnet-trace. Dotnet-trace produceert steekproeven, geen geïnstrueerde tracering. Zie dotnet-tracevoor meer informatie.

Diagnostische Hulpprogramma's aanroepende

Klik op een functie waarin u geïnteresseerd bent en u ziet een meer gedetailleerde vlinderschermweergave met drie deelvensters, met de geselecteerde functie in het midden van het venster, de aanroepende functie aan de linkerkant en aan de rechterkant aangeroepen functies. In de sectie Functietekst ziet u de totale hoeveelheid tijd (en het percentage tijd) dat in de hoofdtekst van de functie is besteed, met uitzondering van de tijd die is besteed aan het aanroepen en aanroepen van functies. Met deze gegevens kunt u evalueren of de functie zelf een knelpunt voor prestaties is.

diagnostische hulpprogramma's aanroepende

Geheugengebruik analyseren

In het venster Diagnostische hulpprogramma's kunt u ook het geheugengebruik in uw app evalueren met behulp van het hulpprogramma Geheugengebruik. U kunt bijvoorbeeld het aantal en de grootte van objecten op de heap bekijken. U kunt het in het foutopsporingsprogramma geïntegreerde hulpmiddel geheugengebruik of het hulpmiddel geheugengebruik in de Prestatieprofiler gebruiken.

.NET-ontwikkelaars kunnen kiezen tussen het hulpprogramma .NET-objecttoewijzing of het hulpprogramma geheugengebruik.

  • Met het hulpprogramma .NET-objecttoewijzing kunt u toewijzingspatronen en afwijkingen in uw .NET-code identificeren en veelvoorkomende problemen met garbagecollection identificeren. Dit hulpprogramma wordt alleen gebruikt als post-mortem hulpmiddel. U kunt dit hulpprogramma uitvoeren op lokale of externe computers.
  • Het hulpprogramma Geheugengebruik is handig bij het identificeren van geheugenlekken, die doorgaans niet gebruikelijk zijn in .NET-apps. Als u functies van een foutopsporingsprogramma nodig hebt tijdens het controleren van het geheugen, zoals het stap-voor-stap doorlopen van code, wordt het -hulpprogramma voor geïntegreerd geheugengebruik met foutopsporingsprogramma aanbevolen.

Als u het geheugengebruik wilt analyseren met het hulpprogramma Geheugengebruik, moet u ten minste één momentopname van het geheugen maken. Vaak kunt u het beste geheugen analyseren door twee momentopnamen te maken; het eerste recht vóór een verdacht geheugenprobleem en de tweede momentopname direct nadat er een verdacht geheugenprobleem is opgetreden. Vervolgens kunt u een diff van de twee momentopnamen bekijken en precies zien wat er is gewijzigd. De volgende afbeelding toont het maken van een momentopname met de geïntegreerde debugger-tool.

Maak een momentopname in de diagnostische hulpprogramma's

Maak een momentopname in de diagnostische hulpprogramma's

Wanneer u een van de pijllinks selecteert, krijgt u een onderscheidende weergave van de heap (een rode opwaartse pijl toename geheugengebruik toont een toenemend aantal objecten (links) of een toenemende heapgrootte (rechts)). Als u op de juiste link klikt, krijgt u een verschillende heapweergave geordend op objecten die het meest in grootte zijn toegenomen. Dit kan u helpen bij het vaststellen van geheugenproblemen. In de onderstaande afbeelding zijn bijvoorbeeld de bytes die door ClassHandlersStore objecten worden gebruikt, verhoogd met 3492 bytes in de tweede momentopname.

Heff-weergave diagnostische hulpprogramma's

Heap Diff-weergave voor diagnostische hulpprogramma's

Als u in plaats daarvan op de koppeling aan de linkerkant klikt in de weergave geheugengebruik, wordt de heap-weergave ingedeeld op objectaantal; de objecten van een bepaald type die het meeste aantal hebben verhoogd, worden bovenaan weergegeven (gesorteerd op aantal diff kolom).

Instrumentatie

Het hulpprogramma Instrumentatie is vergelijkbaar met het hulpprogramma CPU-gebruik, behalve dat het exacte aantal aanroepen en wandkloktijd biedt in plaats van CPU-gebruik. De instrumentatiemethode vereist meer overhead dan het hulpprogramma CPU-gebruik. Dit hulpprogramma is beschikbaar in performance profiler. Open de Performance-profiler door Debuggen>Performance-profiler (of Alt + F2) te kiezen. Zie Instrumentatievoor meer informatie.

Schermopname van .NET Instrumentation-gegevens.

Bestand-I/O onderzoeken

Het hulpprogramma Bestands-I/O helpt u te begrijpen hoe u uw bestands-I/O-bewerkingen kunt optimaliseren om de prestaties in uw apps te verbeteren. Als u trage laadtijden probeert te onderzoeken en diagnosticeren, kan het nieuwe hulpprogramma File IO u helpen te begrijpen hoe de I/O-bewerkingen van invloed zijn op uw besteede tijd. Dit hulpprogramma is beschikbaar in performance profiler. Open de Performance Profiler door Fouten opsporen > Performance Profiler (of Alt + F2) te kiezen.

Het hulpprogramma toont lees- en schrijfbewerkingen voor bestanden in een lijstweergave met tabbladen.

Schermopname waarin het hulpprogramma Bestands-IO is gestopt.

Prestaties onderzoeken met behulp van PerfTips

Vaak is de eenvoudigste manier om prestatiegegevens weer te geven het gebruik van PerfTips. Met Behulp van PerfTips kunt u prestatiegegevens bekijken tijdens interactie met uw code. U kunt informatie controleren, zoals de duur van de gebeurtenis (gemeten vanaf het moment dat het foutopsporingsprogramma voor het laatst is onderbroken of wanneer de app is gestart). Als u bijvoorbeeld de code (F10, F11) doorloopt, ziet u met PerfTips de runtimeduur van de app van de vorige stapbewerking naar de huidige stap.

schermopname van PerfTips.

schermopname van PerfTips.

U kunt PerfTips gebruiken om te onderzoeken hoe lang het duurt voordat een codeblok wordt uitgevoerd of hoe lang het duurt voordat één functie is voltooid.

PerfTips geven dezelfde gebeurtenissen weer die ook worden weergegeven in de gebeurtenissen weergave van diagnostische hulpprogramma's. In de gebeurtenissen weergave kunt u verschillende gebeurtenissen bekijken die optreden tijdens het opsporen van fouten, zoals de instelling van een onderbrekingspunt of een codestapbewerking.

schermopname van de weergave Gebeurtenissen van diagnostische hulpprogramma's.

schermopname van de weergave van diagnostische hulpprogramma's gebeurtenissen.

Notitie

Als u Visual Studio Enterprise hebt, kunt u ook IntelliTrace-gebeurtenissen zien op dit tabblad.

Asynchrone code (.NET) analyseren

Met het hulpprogramma .NET Async kunt u de prestaties van asynchrone code in uw toepassing analyseren. Dit hulpprogramma is beschikbaar in performance profiler. Open de Performance Profiler door te kiezen voor Foutopsporing>Performance Profiler (of Alt + F2).

In het hulpprogramma wordt elke asynchrone bewerking in een lijstweergave weergegeven. U kunt informatie zien zoals de begintijd, eindtijd en totale tijd voor een asynchrone bewerking.

.NET Async-hulpprogramma gestopt

Dit hulpprogramma wordt ondersteund voor .NET Core- en .NET 5+-apps.

Asynchrone code (.NET) analyseren

Met het hulpprogramma .NET Async kunt u de prestaties van asynchrone code in uw toepassing analyseren. Dit hulpprogramma is beschikbaar in performance profiler. Open de Performance Profiler door te kiezen voor Debuggen>Performance Profiler (of Alt + F2).

In het hulpprogramma wordt elke asynchrone bewerking in een lijstweergave weergegeven. U kunt informatie zien zoals de begintijd, eindtijd en totale tijd voor een asynchrone bewerking.

.NET Async-hulpprogramma is gestopt

Dit hulpprogramma wordt ondersteund voor .NET Core- en .NET 5+-apps.

Databaseprestaties analyseren (.NET)

Voor .NET Core- en .NET 5+-apps die gebruikmaken van ADO.NET of Entity Framework Core, kunt u met het hulpprogramma Database de databasequery's vastleggen die door uw toepassing worden uitgevoerd tijdens een diagnostische sessie. Vervolgens kunt u informatie over afzonderlijke query's analyseren om locaties te vinden waar de prestaties van uw app kunnen worden verbeterd. Dit hulpprogramma is beschikbaar in performance profiler. Open de prestatieprofiler door Debug>Performance Profiler (of Alt + F2) te selecteren.

In het hulpprogramma wordt elke query in een lijstweergave weergegeven. U kunt informatie zien, zoals de begintijd en duur van de query.

toewijzing

.NET-tellers visualiseren (.NET)

Vanaf Visual Studio 2019 versie 16.7 kunt u het hulpprogramma .NET Counters in Visual Studio gebruiken om prestatiemeteritems te visualiseren. U kunt tellers visualiseren die zijn gemaakt met dotnet-tellers. dotnet counters ondersteunen veel tellers, zoals CPU-gebruik en garbage collector heapgrootte.

Het hulpprogramma toont livewaarden voor elke teller in een lijstweergave.

.NET-tellerprogramma verzamelen.

Dit hulpprogramma wordt ondersteund voor .NET Core- en .NET 5+-apps.

Applicatie-evenementen onderzoeken

Met de algemene gebeurtenissenviewer kunt u de activiteit van uw toepassing bekijken via een lijst met gebeurtenissen, zoals het laden van modules, het starten van threads en systeemconfiguraties, om beter te bepalen hoe uw toepassing presteert binnen de Visual Studio-profiler. Dit hulpprogramma is beschikbaar in performance profiler. Open de Performance Profiler door Debug>Performance Profiler (of Alt + F2) te kiezen.

Het hulpprogramma toont elke gebeurtenis in een lijstweergave. Kolommen bevatten informatie over elke gebeurtenis, zoals de gebeurtenisnaam, tijdstempel en proces-id.

Logboeken traceren

Aangepaste gebeurtenissen weergeven in de tijdlijngrafieken

U kunt programmatisch aangepaste gebeurtenissen maken die worden weergegeven als pictogrammen in de tijdlijngrafieken, zoals het CPU-gebruik en tijdlijngrafieken voor geheugengebruik. Zie Gebruikersmarkeringen toevoegen aan tijdlijnvoor meer informatie.

Resourceverbruik analyseren (XAML)

In XAML-apps, zoals WPF-apps voor Windows-bureaublad en UWP-apps, kunt u het resourceverbruik analyseren met behulp van het hulpprogramma Application Timeline. U kunt bijvoorbeeld de tijd analyseren die door uw toepassing is besteed aan het voorbereiden van UI-frames (indeling en render), het onderhouden van netwerk- en schijfaanvragen, en in scenario's zoals het opstarten van toepassingen, het laden van pagina's en het wijzigen van het formaat van vensters. Als u het hulpprogramma wilt gebruiken, kiest u Application Timeline in de Performance Profiler en kiest u vervolgens Start. Ga in uw app door het scenario met vermoedelijke problemen met hulpbronnenverbruik en kies vervolgens Stop de verzameling om het rapport te genereren.

Lage framerates in de visuele doorvoer grafiek kunnen overeenkomen met visuele problemen die u ziet bij het uitvoeren van de app. Op dezelfde manier kunnen hoge getallen in het ui-threadgebruik grafiek ook overeenkomen met problemen met de reactietijd van de gebruikersinterface. In het rapport kunt u een periode selecteren met een verdacht prestatieprobleem en vervolgens de gedetailleerde activiteiten van de gebruikersinterfacethread bekijken in de weergave Tijdlijndetails (lager deelvenster).

hulpprogramma voor het profileren van toepassingstijdlijnen

hulpprogramma voor het profileren van toepassingstijdlijnen

In de weergave Tijdlijndetails vindt u informatie zoals het type activiteit (of het betrokken UI-element) samen met de duur van de activiteit. In de afbeelding duurt het bijvoorbeeld 57,53 ms voor een lay-out gebeurtenis voor een rasterbesturing.

Zie Application Timelinevoor meer informatie.

Prestatie- en toegankelijkheidsevenementen van de gebruikersinterface onderzoeken (UWP)

In uw UWP-apps kunt u UI Analysis inschakelen in het venster Diagnostische hulpprogramma's. Het hulpprogramma zoekt naar veelvoorkomende prestatie- of toegankelijkheidsproblemen en geeft deze weer in de gebeurtenissen weergave terwijl u fouten opspoort. De gebeurtenisbeschrijvingen bevatten informatie waarmee u problemen kunt oplossen.

Gebeurtenissen van ui-analyse weergeven in de diagnostische hulpprogramma's

Gebeurtenissen van ui-analyse weergeven in de diagnostische hulpprogramma's

GPU-gebruik analyseren (Direct3D)

In Direct3D-apps (Direct3D-onderdelen moeten zich in C++) kunnen activiteiten op de GPU worden onderzocht en prestatieproblemen worden geanalyseerd. Zie GPU-gebruikvoor meer informatie. Als u het hulpprogramma wilt gebruiken, kiest u GPU-gebruik in de Performance Profiler en kiest u vervolgens Start. Doorloop in je app het scenario waarin je geïnteresseerd bent om een profiel van te maken en kies vervolgens Verzameling stoppen om een rapport te genereren.

Wanneer u een periode in de grafieken selecteert en bekijk detailskiest, wordt een gedetailleerde weergave getoond in het onderste deelvenster. In de gedetailleerde weergave kunt u onderzoeken hoeveel activiteit er gebeurt op elke CPU en GPU. Selecteer gebeurtenissen in het laagste deelvenster om pop-ups op te halen in de tijdlijn. Selecteer bijvoorbeeld de gebeurtenis Present om Present oproepmeldingen weer te geven. (De lichtgrijze verticale VSync-lijnen kunnen worden gebruikt als verwijzing om te begrijpen of bepaalde Aanwezig gemiste VSync-aanroepen. Er moet één aanwezig zijn aanroep tussen elke twee VSyncs, zodat de app geleidelijk 60 FPS bereikt.)

hulpprogramma voor gpu-gebruiksprofilering

hulpprogramma voor gpu-gebruiksprofilering

U kunt de grafieken ook gebruiken om te bepalen of er cpu-gebonden of GPU-gebonden prestatieknelpunten zijn.

Prestaties analyseren (verouderde hulpprogramma's)

In Visual Studio 2019 zijn de verouderde Performance Explorer en gerelateerde profileringshulpmiddelen, zoals de wizard Prestaties, opgenomen in de Performance Profiler, die u kunt openen met behulp van Foutopsporing>Performance Profiler. In de Performance Profiler zijn de beschikbare diagnostische hulpprogramma's afhankelijk van het gekozen doel en het huidige, geopende opstartproject. Het hulpprogramma CPU-gebruik biedt de functie voor steekproeven die eerder in de wizard Prestaties werd ondersteund. De instrumentatietool biedt de mogelijkheid voor geïnstrumenteerde profilering (voor nauwkeurige oproeptellingen en duurmetingen), zoals aanwezig in de Wizard Prestaties. Extra geheugenhulpprogramma's worden ook weergegeven in de Performance Profiler.

Performance Explorer-hulpprogramma