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.

Symbol loading page

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

Symbol loading progress

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 Show external code deaktivieren oder Show just my code aktivieren, können Sie den Werkzeugen erlauben, externen Code in einem einzigen Frame der ersten Ebene zusammenzufassen, wodurch sich der für die Anzeige der Ergebnisse erforderliche Verarbeitungsaufwand erheblich verringert. 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. Wenn möglich, lassen Sie Show external code deaktiviert und stellen Sie sicher, dass Sie die Projektmappe oder den Arbeitsbereich für die zu analysierende Diagrammsitzung geöffnet haben.

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.

Diag Hub Properties Page

Diag Hub Properties Page

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 of profiler scratch directory.