De prestaties van System.Diagnostics.StackFrame nemen af in Windows 10
Als u na een upgrade naar Windows 10 of .NET Framework 4.7.1 merkt dat de prestaties aanzienlijk afnemen wanneer u .NET Framework-toepassingen uitvoert die de klasse System.Diagnostics.StackFrame gebruiken , dan is dit bericht wellicht interessant voor u. We zullen naar de oorzaak kijken en vervolgens bekende oplossingen voor de fout aanbieden.
Prestaties van System.Diagnostics.StackFrame nemen af
Een toepassing die acceptabele prestaties had op .NET Framework 4.7 of eerdere versies, wordt langzamer uitgevoerd op .NET Framework 4.7.1 . Toepassingen vertrouwen doorgaans op StackFrame wanneer ze .NET-uitzonderingen genereren. Als dit in een hoog tempo gebeurt (meer dan 10 incidenten per seconde), kunnen applicaties aanzienlijk vertragen (tienvoudig) en merkbaar langzamer werken dan voorheen.
Oorzaak van de prestatievermindering van System.Diagnostics.StackFrame(Cause of the System.Diagnostics.StackFrame performance degrade)
Het .NET Framework 4.7.1 in Windows 10 heeft ondersteuning toegevoegd voor het detecteren en parseren van het Portable PDB -bestandsformaat om bestands- en regelnummerinformatie in stacktraces weer te geven. Als onderdeel van deze wijziging wordt voor elke functie in een stacktracering de definiërende module gecontroleerd om te bepalen of die module het Portable PDB -formaat gebruikt. Vanwege(Due) enkele verschillen in het interne cachingbeleid besteedt de runtime veel meer tijd aan het zoeken naar draagbare PDB's(Portable PDBs) dan eerdere .NET Framework - versies die werden besteed aan het zoeken naar klassieke Windows PDB's .
Dit zorgt ervoor dat geformatteerde stacktraces langzamer worden geproduceerd dan voorheen.
Dit probleem heeft geen invloed op het aantal uitzonderingen dat wordt gegenereerd. Het vermindert echter aanzienlijk het vermogen van toepassingen om die uitzonderingen af te handelen.
Van toepassingen die de IKVM- bibliotheek gebruiken, is bekend dat ze last hebben van dit probleem als ze naar assembly's zoeken. Het is bekend dat het zoeken naar assemblages uitzonderingen veroorzaakt.
(Fix System.Diagnostics.StackFrame)Probleem met verslechtering van de prestaties van System.Diagnostics.StackFrame oplossen
Om dit probleem op te lossen, raadt Microsoft aan een van de volgende methoden te gebruiken.
1] Gebruik een andere constructor voor StackFrame die een Booleaans argument nodig heeft(1] Use a different constructor for StackFrame that takes a Boolean argument)
Dit is de voorkeursoplossing.
Als applicatieontwikkelaars wijzigingen in hun applicaties kunnen aanbrengen, roept u de (call the) System.Diagnostics.StackTrace aan. (System.Diagnostics.StackTrace.)#ctor( Boolean ) constructor door een vals argument te gebruiken om te voorkomen dat broninformatie wordt vastgelegd. Dit vermijdt het gedeelte van de code waarin de prestaties worden verminderd.
2] Terugdraaien of upgraden naar de nieuwste Windows 10-versie(2] Rollback or upgrade to the latest Windows 10 version)
Ga bij deze methode terug naar de vorige versie/build of upgrade to the latest version/build van Windows 10 als u dit probleem ondervindt en momenteel niet de nieuwste versie van Windows 10 gebruikt . Verwijder ook .NET Framework 4.7.1 , indien aanwezig, van uw computer en download en installeer vervolgens een eerdere versie of de nieuwste versie van .NET Framework .
Hope this helps!
Related posts
Hoe de .NET Framework-versie te controleren die is geïnstalleerd op Windows 10 pc
Fix Error 0x800F080C bij het installeren van .NET Framework op Windows 10
Kies waar de optie voor apps grijs wordt weergegeven in Windows 10 Instellingen
Op CMAK gebaseerde VPN werkt niet na upgrade naar Windows 10
Cloud Klembord (Ctrl+V) werkt niet of synchroniseert niet in Windows 10
Problemen met de internetverbinding in Windows 10 oplossen
Problemen oplossen met Windows 10 gaat niet in slaapstand
CreateWindowEx-functieproblemen voor 32-bits apps in Windows 10
Hoe .aspx-bestanden op een Windows 10-computer te openen
Wat is het activeringspakket in Windows 10
Microsoft Solitaire-verzameling wordt niet geopend in Windows 10
Tabblad Extern bureaublad in RDWEB ontbreekt in Edge-browser in Windows 10
Casten naar apparaat werkt niet in Windows 10
Computer is ten onrechte gedetecteerd als buiten het domeinnetwerk
Quick Assist werkt niet; Vastgelopen bij laden of verbinden op Windows 10
Potentiële Windows Update Database-fout gedetecteerd in Windows 10
Ashampoo WinOptimizer is gratis software om Windows 10 te optimaliseren
Vliegtuigmodus wordt niet uitgeschakeld in Windows 10
Problemen met printer oplossen die vastzit in offlinestatus in Windows
Vliegtuigmodus grijs weergegeven Windows 10