System.Diagnostics.StackFrame-Leistungsminderung in Windows 10
Wenn Sie nach dem Upgrade auf Windows 10 oder .NET Framework 4.7.1 einen erheblichen Leistungsabfall bemerken, wenn Sie .NET Framework-Anwendungen ausführen, die die System.Diagnostics.StackFrame -Klasse verwenden, könnte Sie dieser Beitrag interessieren. Wir werden uns die Ursache ansehen und dann bekannte Lösungen für den Fehler anbieten.
System.Diagnostics.StackFrame-Leistungsverschlechterung
Eine Anwendung mit akzeptabler Leistung, die auf .NET Framework 4.7 oder früheren Versionen ausgeführt wird, wird langsamer ausgeführt, wenn sie auf .NET Framework 4.7.1 ausgeführt wird . Anwendungen verlassen sich normalerweise auf StackFrame, wenn sie .NET-Ausnahmen auslösen. Wenn dies mit einer hohen Rate auftritt (mehr als 10 Vorfälle pro Sekunde), können Anwendungen erheblich langsamer werden (zehnfach) und merklich langsamer als zuvor ausgeführt werden.
Ursache der System.Diagnostics.StackFrame-Leistungsverschlechterung(Cause of the System.Diagnostics.StackFrame performance degrade)
Das .NET Framework 4.7.1 in Windows 10 hat Unterstützung für das Erkennen und Analysieren des Portable PDB -Dateiformats hinzugefügt, um Datei- und Zeilennummerninformationen in Stacktraces anzuzeigen. Als Teil dieser Änderung wird das definierende Modul jeder Funktion in einem Stack-Trace überprüft, um festzustellen, ob dieses Modul das Portable PDB -Format verwendet. Aufgrund(Due) einiger Unterschiede in der internen Caching-Richtlinie verbringt die Laufzeitumgebung viel mehr Zeit mit der Suche nach portablen PDBs(Portable PDBs) als frühere .NET Framework- Versionen mit der Suche nach klassischen Windows-PDBs .
Dies führt dazu, dass formatierte Stacktraces langsamer als zuvor erzeugt werden.
Dieses Problem ändert nicht die Anzahl der ausgelösten Ausnahmen. Es verringert jedoch erheblich die Fähigkeit von Anwendungen, diese Ausnahmen zu behandeln.
Anwendungen, die die IKVM -Bibliothek verwenden, sind bekanntermaßen von diesem Problem betroffen, wenn sie nach Assemblys suchen. Es ist bekannt, dass das Prüfen auf Assemblys Ausnahmen verursacht.
(Fix System.Diagnostics.StackFrame)Beheben Sie das Problem mit der System.Diagnostics.StackFrame- Leistungsverschlechterung
Um dieses Problem zu beheben, empfiehlt Microsoft die Verwendung einer der folgenden Methoden.
1] Verwenden Sie einen anderen Konstruktor für StackFrame, der ein boolesches Argument akzeptiert(1] Use a different constructor for StackFrame that takes a Boolean argument)
Dies ist die bevorzugte Lösung.
Wenn Anwendungsentwickler Änderungen an ihren Anwendungen vornehmen können, rufen (call the) Sie System.Diagnostics.StackTrace auf. (System.Diagnostics.StackTrace.)#ctor( Boolean )-Konstruktor, indem ein falsches Argument verwendet wird, um das Erfassen von Quellinformationen zu vermeiden. Dadurch wird der Abschnitt des Codes vermieden, in dem die Leistung verringert wird.
2] Rollback oder Upgrade auf die neueste Windows 10-Version(2] Rollback or upgrade to the latest Windows 10 version)
Führen Sie bei dieser Methode ein Rollback auf die vorherige Version/den vorherigen Build durch oder führen Sie ein upgrade to the latest version/build von Windows 10 durch , wenn dieses Problem auftritt und Sie derzeit nicht die neueste Version von Windows 10 ausführen(Windows 10) . Deinstallieren Sie auch .NET Framework 4.7.1 , falls vorhanden, von Ihrem Computer und laden Sie dann eine frühere Version oder die neueste Version von .NET Framework herunter(download) und installieren Sie sie .
Hope this helps!
Related posts
So überprüfen Sie die auf einem Windows 10-PC installierte .NET Framework-Version
Behebung des Fehlers 0x800F080C bei der Installation von .NET Framework unter Windows 10
Wählen Sie in den Windows 10-Einstellungen aus, wo Sie Apps erhalten möchten
CMAK-basiertes VPN funktioniert nach dem Windows 10-Upgrade nicht
Cloud-Zwischenablage (Strg+V) funktioniert oder synchronisiert nicht in Windows 10
Das Programm kann nicht gestartet werden, da MSVCP140.dll in Windows 10 fehlt
Was ist das Aktivierungspaket in Windows 10
Potenzieller Fehler in der Windows Update-Datenbank in Windows 10 erkannt
MSVCR71.dll fehlt auf dem Windows 10-Computer
So öffnen Sie .aspx-Dateien auf einem Windows 10-Computer
Desktopsymbole werden nach dem Neustart in Windows 10 neu angeordnet und verschoben
Sehen Sie digitales Fernsehen und hören Sie Radio unter Windows 10 mit ProgDVB
Externes Mikrofon wird in Windows 10 als Kopfhörer erkannt
Fehlerbehebung für Drucker, der in Windows im Offline-Status hängt
Die Registerkarte „Remote Desktop“ in RDWEB fehlt im Edge-Browser in Windows 10
Starten Sie Dateien einfach mit myLauncher für Windows 10-Computer
Der Desktophintergrund kann in Windows 10 nicht geändert werden
So deaktivieren Sie automatische Treiber-Updates in Windows 10
Ereignis-ID 10006 und 1530: COM+-Anwendung funktioniert nicht in Windows 10
Probleme mit Google Chrome und Probleme mit Windows 10