Smanjenje performansi System.Diagnostics.StackFrame u sustavu Windows 10
Ako nakon nadogradnje na Windows 10 ili .NET Framework 4.7.1 primijetite značajno smanjenje performansi kada pokrenete .NET Framework aplikacije koje koriste klasu System.Diagnostics.StackFrame , onda bi vas ovaj post mogao zanimati. Pogledat ćemo uzrok, a zatim ponuditi poznate popravke za pogrešku.
Smanjenje performansi System.Diagnostics.StackFramea
Aplikacija koja je imala prihvatljivu izvedbu koja se izvodi na .NET Frameworku 4.7(.NET Framework 4.7) ili starijim verzijama izvršava se sporije kada se izvodi na .NET Framework 4.7.1 . Aplikacije se obično oslanjaju na StackFrame kada bacaju .NET iznimke. Ako se to događa velikom brzinom (više od 10 incidenata u sekundi), aplikacije se mogu značajno usporiti (deseterostruko) i raditi osjetno sporije nego prije.
Uzrok pogoršanja performansi System.Diagnostics.StackFramea(Cause of the System.Diagnostics.StackFrame performance degrade)
.NET Framework 4.7.1 u sustavu Windows 10 dodao je podršku za otkrivanje i raščlanjivanje formata Portable PDB datoteke za prikaz informacija o broju datoteke i reda u tragovima stogova. Kao dio ove promjene, svaka funkcija u praćenju steka ima provjeren modul za definiranje kako bi se utvrdilo koristi li taj modul Portable PDB format. Zbog(Due) nekih razlika u internoj politici predmemorije, vrijeme izvođenja troši daleko više vremena na traženje prijenosnih PDB-ova(Portable PDBs) nego prethodne verzije .NET Frameworka(Framework) koje su provele tražeći klasične Windows PDB-ove(Windows PDBs) .
To uzrokuje da se formatirani tragovi snopa proizvode sporije nego prije.
Ovaj problem ne mijenja broj iznimki koje se bacaju. Međutim, to značajno smanjuje sposobnost aplikacija da obrađuju te iznimke.
Poznato je da su aplikacije koje koriste IKVM biblioteku pogođene ovim problemom ako traže sklopove. Poznato je da ispitivanje sklopova uzrokuje iznimke.
Popravite(Fix System.Diagnostics.StackFrame) problem s degradacijom performansi System.Diagnostics.StackFrame
Da biste riješili ovaj problem, Microsoft preporučuje korištenje jedne od sljedećih metoda.
1] Koristite drugi konstruktor za StackFrame koji uzima Booleov argument(1] Use a different constructor for StackFrame that takes a Boolean argument)
Ovo je poželjno rješenje.
Ako programeri aplikacija mogu napraviti promjene u svojim aplikacijama, pozovite (call the) System.Diagnostics.StackTrace. #ctor( Boolean ) konstruktor korištenjem lažnog argumenta kako bi se izbjeglo hvatanje izvornih informacija. Time se izbjegava dio koda u kojem je izvedba smanjena.
2] Vratite ili nadogradite na najnoviju verziju sustava Windows 10(2] Rollback or upgrade to the latest Windows 10 version)
Ovom metodom vratite se na prethodnu verziju/izgradnju ili upgrade to the latest version/build sustava Windows 10 ako naiđete na ovaj problem, a trenutno ne koristite najnoviju verziju sustava Windows 10 . Također deinstalirajte .NET Framework 4.7.1 ako postoji, sa svog računala, a zatim preuzmite(download) i instalirajte prethodnu verziju ili najnoviju verziju .NET Frameworka(.NET Framework) .
Hope this helps!
Related posts
Kako provjeriti verziju .NET Frameworka instaliranu na Windows 10 PC
Popravi pogrešku 0x800F080C prilikom instaliranja .NET Frameworka na Windows 10
Odaberite gdje će biti opcija aplikacija zasivljena u postavkama sustava Windows 10
VPN baziran na CMAK-u ne radi nakon nadogradnje na Windows 10
Međuspremnik u oblaku (Ctrl+V) ne radi ili se sinkronizira u sustavu Windows 10
Modern Setup Host je prestao raditi - Windows 10 pogreška
Najbolji besplatni softver za skeniranje crtičnog koda za Windows 10
Kako onemogućiti zaštitne mjere za ažuriranja značajki u sustavu Windows 10
Sakrij opciju alatnih traka u kontekstnom izborniku trake zadataka u sustavu Windows 10
Gledajte digitalnu TV i slušajte radio na Windows 10 uz ProgDVB
K-12 izvješća o procjeni aplikacija koje rade u pozadini sustava Windows 10
Windows nije mogao dovršiti tražene promjene
Rješavanje problema Windows 10 ne ide u stanje mirovanja
Zbirka Microsoft Solitaire neće se otvoriti u sustavu Windows 10
Popravi pogrešku RPC poslužitelj nije dostupan u sustavu Windows 10
Trebate dopuštenje za izvođenje ove radnje u sustavu Windows 10 [Popravljeno]
Vijesti i interesi se ne prikazuju ili nedostaju u sustavu Windows 10
Kako onemogućiti automatsko ažuriranje upravljačkih programa u sustavu Windows 10
Vanjski mikrofon se prepoznaje kao slušalice u sustavu Windows 10
Jedna ili više audio usluga ne radi na uređaju sa sustavom Windows 10