.NETO

Sistema.Diagnósticos.El rendimiento de StackFrame se degrada en Windows 10

Sistema.Diagnósticos.El rendimiento de StackFrame se degrada en Windows 10

Si después de actualizar a Windows 10 o .NET Framework 4.7.1, y nota una disminución significativa en el rendimiento cuando ejecuta .NET Framework que utilizan Sistema.Diagnósticos.StackFrame clase, entonces esta publicación puede interesarte. Analizaremos la causa y luego ofreceremos soluciones conocidas para el error.

Sistema.Diagnósticos.Degradación del rendimiento de StackFrame

Una aplicación que tenía un rendimiento aceptable ejecutándose en el .NET Framework 4.7 o versiones anteriores se ejecuta más lentamente cuando se ejecuta en el .NET Framework 4.7.1. Las aplicaciones suelen depender de StackFrame cuando lanzan .Excepciones .NET. Si esto ocurre a un ritmo alto (más de 10 incidentes por segundo), las aplicaciones pueden ralentizarse significativamente (diez veces) y ejecutarse notablemente más lento que antes.

Causa del sistema.Diagnósticos.Degradación del rendimiento de StackFrame

La .NET Framework 4.7.1 en Windows 10 agregó soporte para detectar y analizar el formato de archivo Portable PDB para mostrar información de número de línea y archivo en seguimientos de pila. Como parte de este cambio, cada función en un seguimiento de pila tiene su módulo de definición verificado para determinar si ese módulo usa el formato PDB portátil. Debido a algunas diferencias en la política de almacenamiento en caché interno, el tiempo de ejecución dedica mucho más tiempo a buscar PDB portátiles que antes .Las versiones de .NET Framework dedicadas a la búsqueda de PDB de Windows clásicos.

Esto hace que los seguimientos de pila formateados se produzcan más lentamente que antes.

Este problema no cambia la cantidad de excepciones que se lanzan. Sin embargo, disminuye significativamente la capacidad de las aplicaciones para manejar esas excepciones.

Se sabe que las aplicaciones que usan la biblioteca IKVM se ven afectadas por este problema si investigan ensamblados. Se sabe que el sondeo de ensamblajes causa excepciones.

Sistema de reparación.Diagnósticos.Problema de degradación del rendimiento de StackFrame

Para resolver este problema, Microsoft recomienda utilizar cualquiera de los siguientes métodos.

1] Use un constructor diferente para StackFrame que tome un argumento booleano

Esta es la solución preferida.

Si los desarrolladores de aplicaciones pueden realizar cambios en sus aplicaciones, llame al sistema.Diagnósticos.StackTrace.#ctor (booleano) constructor mediante el uso de un argumento falso para evitar capturar información de origen. Esto evita la sección del código en la que se reduce el rendimiento.

2] Revertir o actualizar a la última versión de Windows 10

En este método, retroceda a la versión / compilación anterior o actualice a la última versión / compilación de Windows 10 si tiene este problema y actualmente no está ejecutando la última versión de Windows 10. También desinstalar .NET Framework 4.7.1 si está presente, desde su computadora y luego descargue e instale una versión anterior o la última versión de .NET Framework.

Espero que esto ayude!

Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...