.NETT

System.Diagnostikk.StackFrame-ytelsen forringes i Windows 10

System.Diagnostikk.StackFrame-ytelsen forringes i Windows 10

Hvis etter at du oppgraderer til Windows 10 eller .NET Framework 4.7.1, og du merker en betydelig reduksjon i ytelsen når du løper .NET Framework-applikasjoner som bruker System.Diagnostikk.StackFrame klasse, så kan dette innlegget interessere deg. Vi vil se på årsaken, og deretter tilby kjente reparasjoner for feilen.

System.Diagnostikk.StackFrame-ytelsen forringes

En applikasjon som hadde akseptabel ytelse på .NET Framework 4.7 eller tidligere versjoner kjøres saktere når du kjører på .NET Framework 4.7.1. Programmer er vanligvis avhengige av StackFrame når de kaster .NETTE unntak. Hvis dette skjer i høy hastighet (mer enn 10 hendelser per sekund), kan applikasjoner reduseres betydelig (tidoblet) og løpe merkbart langsommere enn før.

Årsak til systemet.Diagnostikk.StackFrame-ytelsen forringes

De .NET Framework 4.7.1 i Windows 10 lagt til støtte for å oppdage og parsere det bærbare PDB-filformatet for å vise fil- og linjenummerinformasjon i stakkspor. Som en del av denne endringen har hver funksjon i en stakkspor sin definerende modul sjekket for å avgjøre om den modulen bruker det bærbare PDB-formatet. På grunn av noen forskjeller i den interne caching-policyen, bruker kjøretiden mye mer tid på å søke etter bærbare PDB-er enn tidligere .NET Framework-versjoner brukte på å lete etter klassiske Windows PDB-er.

Dette fører til at formaterte stablespor produseres saktere enn før.

Dette problemet endrer ikke antall unntak som kastes. Imidlertid reduserer det applikasjonenes mulighet til å håndtere disse unntakene betydelig.

Det er kjent at applikasjoner som bruker IKVM-biblioteket, påvirkes av dette problemet hvis de undersøker for samlinger. Det er kjent at det er unntak å undersøke forsamlinger.

Fix System.Diagnostikk.StackFrame-ytelse forringer problemet

For å løse dette problemet anbefaler Microsoft å bruke en av følgende metoder.

1] Bruk en annen konstruktør for StackFrame som tar et boolsk argument

Dette er den foretrukne løsningen.

Hvis applikasjonsutviklere er i stand til å gjøre endringer i applikasjonene sine, kan du ringe systemet.Diagnostikk.StackTrace.#ctor (boolsk) konstruktør ved å bruke et falskt argument for å unngå å fange kildeinformasjon. Dette unngår delen av koden der ytelsen reduseres.

2] Tilbakestill eller oppgrader til den nyeste Windows 10-versjonen

I denne metoden, rull tilbake til forrige versjon / build eller oppgrader til den nyeste versjonen / build av Windows 10 hvis du opplever dette problemet og du ikke kjører den siste versjonen av Windows 10. Avinstaller også .NET Framework 4.7.1 hvis den er tilstede, fra datamaskinen din, og last ned og installer en tidligere versjon eller den siste versjonen av .NET Framework.

Håper dette hjelper!

Mus Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...
Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...
Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...