Снижение производительности System.Diagnostics.StackFrame в Windows 10
Если после обновления до Windows 10 или .NET Framework 4.7.1 вы заметите значительное снижение производительности при запуске приложений .NET Framework, использующих класс System.Diagnostics.StackFrame , этот пост может вас заинтересовать. Мы рассмотрим причину, а затем предложим известные исправления ошибки.
Снижение производительности System.Diagnostics.StackFrame
Приложение, которое имело приемлемую производительность в .NET Framework 4.7 или более ранних версиях, выполняется медленнее при работе в .NET Framework 4.7.1 . Приложения обычно полагаются на StackFrame, когда выдают исключения .NET. Если это происходит с высокой скоростью (более 10 инцидентов в секунду), приложения могут значительно замедлиться (в десять раз) и работать заметно медленнее, чем раньше.
Причина снижения производительности System.Diagnostics.StackFrame(Cause of the System.Diagnostics.StackFrame performance degrade)
В .NET Framework 4.7.1 в Windows 10 добавлена поддержка обнаружения и анализа формата файла Portable PDB для отображения информации о номере файла и строки в трассировке стека. В рамках этого изменения для каждой функции в трассировке стека проверяется определяющий модуль, чтобы определить, использует ли этот модуль формат Portable PDB . Из-(Due) за некоторых различий во внутренней политике кэширования среда выполнения тратит гораздо больше времени на поиск Portable PDB(Portable PDBs) , чем предыдущие версии .NET Framework тратили на поиск классических Windows PDB(Windows PDBs) .
Это приводит к тому, что отформатированные трассировки стека создаются медленнее, чем раньше.
Эта проблема не влияет на количество создаваемых исключений. Однако это значительно снижает способность приложений обрабатывать эти исключения.
Известно, что эта проблема затрагивает приложения, использующие библиотеку IKVM , если они проверяют сборки. (IKVM)Известно, что поиск сборок вызывает исключения.
Исправить(Fix System.Diagnostics.StackFrame) проблему снижения производительности System.Diagnostics.StackFrame.
Чтобы решить эту проблему, Microsoft рекомендует использовать любой из следующих методов.
1] Используйте другой конструктор для StackFrame, который принимает логический аргумент.(1] Use a different constructor for StackFrame that takes a Boolean argument)
Это предпочтительное решение.
Если разработчики приложений могут вносить изменения в свои приложения, вызовите метод (call the) System.Diagnostics.StackTrace. #ctor( Boolean ), используя аргумент false, чтобы избежать захвата исходной информации. Это позволяет избежать раздела кода, в котором снижается производительность.
2] Откат или обновление до последней версии Windows 10.(2] Rollback or upgrade to the latest Windows 10 version)
В этом методе откатитесь к предыдущей версии/сборке или upgrade to the latest version/build Windows 10(Windows 10) , если вы столкнулись с этой проблемой и в настоящее время не используете последнюю версию Windows 10 . Также удалите с компьютера .NET Framework 4.7.1 , если он есть, а затем загрузите(download) и установите предыдущую или последнюю версию .NET Framework .
Hope this helps!
Related posts
Как проверить .NET Framework version, установленный на Windows 10 ПК
Fix Error 0x800F080C при установке .NET Framework на Windows 10
Выберите Куда получить опцию приложений, серые в настройках Windows 10
CMAK на базе VPN не работает после обновления Windows 10
Cloud Clipboard (Ctrl+V) не работает или синхронизация в Windows 10
Как открыть файлы .aspx на компьютере Windows 10
Устранение неполадок с подключением к Интернету в Windows 10
Устранение неполадок, связанных с зависанием принтера в автономном режиме в Windows
Microsoft Solitaire collection не откроется в Windows 10
Quick Assist не работает; Stuck на Loading или подключение к Windows 10
Best бесплатно Barcode Scanner software для Windows 10
Как отключить съемные классы хранения и доступ в Windows 10
Топ 3 Reddit apps для Windows 10, которые доступны на Windows Store
Невозможно изменить Desktop Background в Windows 10
Event ID 10006 и 1530: COM+ application не работает в Windows 10
Fix RPC server недоступна ошибка в Windows 10
Ashampoo WinOptimizer - это бесплатное программное обеспечение для оптимизации Windows 10
Windows couldn Не заполняют запрошенные изменения
Desktop иконки rearrange and move после перезагрузки в Windows 10
Remote Desktop tab в RDWEB отсутствует от Edge browser в Windows 10