.NET

Sistema.Diagnostika.„StackFrame“ našumas blogėja sistemoje „Windows 10“

Sistema.Diagnostika.„StackFrame“ našumas blogėja sistemoje „Windows 10“

Jei po atnaujinimo į „Windows 10“ arba „Windows 10“ .„NET Framework 4“.7.1, o bėgdami pastebite žymiai sumažėjusį našumą .NET Framework programos, naudojančios Sistema.Diagnostika.„StackFrame“ klasę, tada šis įrašas gali jus sudominti. Mes pažvelgsime į priežastį ir tada pasiūlysime žinomus klaidos taisymus.

Sistema.Diagnostika.„StackFrame“ našumas blogėja

Programa, kurios našumas veikia priimtinai .„NET Framework 4“.7 ar ankstesnės versijos veikia lėčiau, kai veikia .„NET Framework 4“.7.1. Programos paprastai remiasi „StackFrame“, kai meta .NET išimtys. Jei tai įvyksta dideliu greičiu (daugiau nei 10 įvykių per sekundę), programos gali žymiai sulėtėti (dešimt kartų) ir veikti pastebimai lėčiau nei anksčiau.

Sistemos priežastis.Diagnostika.„StackFrame“ našumas blogėja

The .„NET Framework 4“.7.1 sistemoje „Windows 10“ pridėjo palaikymą aptikti ir išanalizuoti nešiojamojo PDB failo formatą, kad būtų rodoma failo ir eilutės numerio informacija rietuvės pėdsakuose. Vykdant šį pakeitimą, kiekviena kamino pėdsako funkcija turi patikrinti savo apibrėžimo modulį, siekiant nustatyti, ar tas modulis naudoja „Portable PDB“ formatą. Dėl tam tikrų vidinės talpyklos politikos skirtumų vykdymo laikas praleidžia daug daugiau laiko ieškodamas nešiojamų PDB nei ankstesnis .„NET Framework“ versijos praleido ieškodami klasikinių „Windows“ PDB.

Dėl to suformatuoti kamino pėdsakai gaminami lėčiau nei anksčiau.

Ši problema nekeičia išmestų išimčių skaičiaus. Tačiau tai žymiai sumažina programų galimybes tvarkyti šias išimtis.

Žinoma, kad ši problema turi įtakos programoms, naudojančioms „IKVM“ biblioteką, jei jos tikrina rinkinius. Žinoma, kad asamblėjų tikrinimas sukelia išimčių.

Taisyti sistemą.Diagnostika.„StackFrame“ našumas blogina problemą

Norėdami išspręsti šią problemą, „Microsoft“ rekomenduoja naudoti bet kurį iš šių būdų.

1] „StackFrame“ naudokite kitą konstruktorių, kuris užima loginį argumentą

Tai yra pageidaujamas sprendimas.

Jei programų kūrėjai sugeba atlikti savo programų pakeitimus, paskambinkite į sistemą.Diagnostika.„StackTrace“.#ctor (Boolean) konstruktorius, naudodamas klaidingą argumentą, kad išvengtumėte informacijos apie šaltinį. Taip išvengiama to kodo skyriaus, kuriame sumažėja našumas.

2] Grąžinkite arba atnaujinkite į naujausią „Windows 10“ versiją

Taikydami šį metodą, grįžkite į ankstesnę „Windows 10“ versiją / versiją arba naujovinkite į naujausią „Windows 10“ versiją / versiją, jei kyla ši problema ir šiuo metu neveikiate naujausios „Windows 10“ versijos. Taip pat pašalinkite .„NET Framework 4“.7.1, jei yra, iš savo kompiuterio, tada atsisiųskite ir įdiekite ankstesnę arba naujausią versiją .NET sistema.

Tikiuosi tai padės!

Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...
Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...