System.Diagnostics.StackFrameのパフォーマンスはWindows10で低下します
Windows10または.NETFramework4.7.1にアップグレードした後、 System.Diagnostics.StackFrameクラスを使用する.NET Frameworkアプリケーションを実行するとパフォーマンスが大幅に低下することに気付いた場合は、この投稿に興味があるかもしれません。原因を調べてから、エラーの既知の修正を提供します。
System.Diagnostics.StackFrameのパフォーマンスが低下します
.NET Framework 4.7以前のバージョンで実行されている許容可能なパフォーマンスを備えたアプリケーションは、.NETFramework4.7.1で実行すると実行速度が遅くなります。アプリケーションは通常、.NET例外をスローするときにStackFrameに依存します。これが高速で発生する場合(1秒あたり10件を超えるインシデント)、アプリケーションの速度が大幅に低下し(10倍)、実行速度が以前よりも著しく遅くなる可能性があります。
System.Diagnostics.StackFrameのパフォーマンスが低下する原因(Cause of the System.Diagnostics.StackFrame performance degrade)
Windows10の.NETFramework4.7.1では、ポータブルPDBファイル形式を検出および解析して、ファイルと行番号の情報をスタックトレースに表示するためのサポートが追加されました。この変更の一環として、スタックトレースの各関数の定義モジュールがチェックされ、そのモジュールがPortablePDB形式を使用しているかどうかが判断されます(PDB)。内部キャッシュポリシーにいくつかの違いがあるため、ランタイムは、従来の(Due).NETFramework(Framework)バージョンが従来のWindowsPDBの検索に費やした時間よりも、(Windows PDBs)ポータブルPDB(Portable PDBs)の検索にはるかに多くの時間を費やします。
これにより、フォーマットされたスタックトレースの生成が以前よりも遅くなります。
この問題は、スローされる例外の数を変更しません。ただし、これらの例外を処理するアプリケーションの能力は大幅に低下します。
IKVMライブラリを使用するアプリケーションは、アセンブリをプローブする場合、この問題の影響を受けることがわかっています。アセンブリのプロービングは例外を引き起こすことが知られています。
System.Diagnostics.StackFrame(Fix System.Diagnostics.StackFrame)のパフォーマンス低下の問題を修正
この問題を解決するには、次のいずれかの方法を使用することをお勧めします。(Microsoft)
1]ブール引数を取るStackFrameに別のコンストラクターを使用する(1] Use a different constructor for StackFrame that takes a Boolean argument)
これが推奨されるソリューションです。
アプリケーション開発者がアプリケーションに変更を加えることができる場合は、 System.Diagnostics.StackTraceを(System.Diagnostics.StackTrace.)呼び出します。(call the) #ctor(Boolean)コンストラクター。false引数を使用して、ソース情報のキャプチャを回避します。これにより、パフォーマンスが低下するコードのセクションが回避されます。
2]最新のWindows10バージョンへのロールバックまたはアップグレード(2] Rollback or upgrade to the latest Windows 10 version)
この方法では、この問題が発生し、現在Windows 10の最新バージョンを実行していない場合は、以前のバージョン/ビルドにロールバックするか、最新バージョン/ビルド のWindows10upgrade to the latest version/buildます。また、 .NET Framework 4.7.1が存在する場合は、コンピューターからアンインストールしてから、以前のバージョンまたは最新バージョンの.NETFrameworkをダウンロードしてインストールし(download)ます(.NET Framework)。
Hope this helps!
Related posts
.NET Framework versionを確認する方法Windows 10 PCにインストールされています
Fix Error 0x800F080C .NET FrameworkをWindows 10にインストールするとき
Windows 10の設定でAppsオプションをグレー表示する場所を選択してください
CMAKベースのVPN Windows 10のアップグレード後に機能しない
Cloud Clipboard(Ctrl+V)が動作していないか同期Windows 10
Windows 10コンピュータのMyLauncherでファイルを簡単に起動します
1つ以上のオーディオservice isn Windows 10デバイスで実行されていません
Windows 10バックグラウンドで実行されているK-12 assessmentレポートのアプリ
Windows 10で検出された潜在的なWindows Update Database errorが検出されました
Taskbar Context MenuのHide Toolbars option Windows 10
Windows10でネットワーク接続の問題をトラブルシューティングする方法
Windows couldn要求された変更を完了していません
Windows 10でのリムーバブルストレージクラスとアクセスを無効にする方法
Computerが誤ってdomain network以外に検出されています
Windows 10のアップグレード後にStream HDR videoスイッチを有効にします
Airplane modeグレーアウトWindows 10
Windows 10でNetwork Sniffer Tool PktMon.exeを使用する方法
Windows 10でDesktop Backgroundを変更することはできません
CreateWindowEx function Windows 10の32ビットアプリの問題
Windows 10でこの操作を実行する権限が必要です[固定]