Optimieren der Profilereinstellungen

Das Fenster Performance Profiler und Diagnostic Tools in Visual Studio verfügt über viele verschiedene Einstellungen, die die Gesamtleistung der Tools beeinflussen. Durch das Ändern einiger Einstellungen kann die Analyse schneller ausgeführt werden, oder es können längere Wartezeiten beim Verarbeiten von Ergebnissen in den Tools entstehen. Nachfolgend finden Sie eine Übersicht bestimmter Einstellungen und ihrer Auswirkungen auf die Leistung.

Symboleinstellungen

Die Symboleinstellungen in den Debuggeroptionen (Debuggen > Optionen > Symbole oder Extra > Optionen > Debuggen > Symbole) haben erheblichen Einfluss darauf, wie lang es dauert, Ergebnisse in den Tools zu generieren. Die Aktivierung von Symbolservern oder die Verwendung von _NT_SYMBOL_PATH führt dazu, dass der Profiler Symbole für jedes Modul anfordert, das in einem Bericht geladen wurde. Aktuell lädt der Profiler automatisch alle Symbole, unabhängig von der Einstellung zum automatischen Laden von Symbolen.

Seite zum Laden von Symbolen

Der Fortschritt beim Laden von Symbolen kann im Fenster Ausgabe unter der Überschrift Diagnosetools angezeigt werden.

Fortschritt beim Laden von Symbolen

Nach dem Download werden die Symbole zwischengespeichert, wodurch zukünftige Analysen beschleunigt werden. Die Dateien müssen aber weiterhin geladen und analysiert werden. Wenn das Laden von Symbolen die Analyse verlangsamt, deaktivieren Sie die Symbolserver, und löschen Sie Ihren Symbolcache. Verwenden Sie stattdessen lokal erstellte Symbole für Ihr Projekt.

Externen Code anzeigen

Viele der Tools im Leistungs-Profiler und im Fenster Diagnosetools unterscheiden zwischen Benutzercode und externem Code. Benutzer-Code ist jeder Code, der von der offenen Lösung oder dem offenen Arbeitsbereich erstellt wurde. Externer Code ist alles andere. Wenn Sie die Einstellung Nur meinen Code anzeigen aktiviert lassen oder die Einstellung Externen Code anzeigen deaktivieren, ermöglichen Sie es den Tools, externen Code in einem einzigen Frame oberster Ebene zu aggregieren, wodurch der Verarbeitungsaufwand zur Anzeige der Ergebnisse erheblich gesenkt wird. Auf diese Weise können Benutzer sehen, welche Aufrufe in externem Code zu einer Verlangsamung geführt haben, während die zu verarbeitenden Daten auf ein Minimum beschränkt werden. Sofern möglich, aktivieren Sie die Option Externen Code anzeigen, und stellen Sie sicher, dass Sie die Projektmappe oder den Arbeitsbereich für die .diagsession-Datei geöffnet haben, die Sie analysieren möchten.

Bei den meisten Profilerstellungstools ist die Benutzercodeoption in den Einstellungen für die Zusammenfassungsseite des Berichts vorhanden.

Screenshot der Option „Nur meinen Code anzeigen“.

Dauer der Ablaufverfolgung

Eine Profilerstellung mit geringerer Dauer führt zu weniger Daten, die schneller analysiert werden können. Normalerweise wird empfohlen, bei der Ablaufverfolgung nicht länger als 5 Minuten Leistungsdaten zu erfassen. Einige Tools, wie z. B. das Tool CPU Usage, ermöglichen es Ihnen, die Datenerfassung anzuhalten, während das Tool läuft, so dass Sie die Menge der erfassten Daten auf das Szenario beschränken können, das Sie analysieren möchten.

Stichprobenhäufigkeit

Bestimmte Tools, z. B. das Tool GPU-Nutzung und das Tool .NET-Objektzuordnung erlauben eine Anpassung der Stichprobenhäufigkeit. Eine Erhöhung der Abtastfrequenz ermöglicht eine genauere Messung, erhöht aber auch die Menge der erzeugten Daten. Normalerweise ist es am besten, für diese Einstellung die Standardhäufigkeit beizubehalten, sofern nicht ein bestimmtes Problem untersucht werden soll.

Eigenschaftenseite im Diagnosehub

Eigenschaftenseite im Diagnosehub

Legen Sie den Sammelordner fest

Der Profiler von Visual Studio verwendet ein Sammel-Scratch-Verzeichnis, um Performance-Traces zu speichern, bevor sie gespeichert oder verworfen werden. Standardmäßig verwendet der Profiler Ihr temporäres Verzeichnis. Sie können jedoch ein anderes Scratch-Verzeichnis angeben, indem Sie zunächst Diagnostic Tools Window (Debug>Windows>Show Diagnostic Tools) öffnen und dann Select Tools>Settings>General>Scratch Directory wählen.

Screenshot des Profiler-Scratchverzeichnisses.