Dégradation des performances de System.Diagnostics.StackFrame dans Windows 10

Si après la mise à niveau vers Windows 10 ou .NET Framework 4.7.1 et que vous remarquez une diminution significative des performances lorsque vous exécutez des applications .NET Framework qui utilisent la classe System.Diagnostics.StackFrame , cet article pourrait vous intéresser. Nous examinerons la cause, puis proposerons des correctifs connus pour l'erreur.

Dégradation des performances de System.Diagnostics.StackFrame

Dégradation des performances de System.Diagnostics.StackFrame

Une application qui avait des performances acceptables en cours d'exécution sur .NET Framework 4.7 ou des versions antérieures s'exécute plus lentement lorsqu'elle s'exécute sur .NET Framework 4.7.1 . Les applications s'appuient généralement sur StackFrame lorsqu'elles lèvent des exceptions .NET. Si cela se produit à un rythme élevé (plus de 10 incidents par seconde), les applications peuvent être considérablement ralenties (décuplé) et s'exécuter sensiblement plus lentement qu'auparavant.

Cause de la dégradation des performances de System.Diagnostics.StackFrame(Cause of the System.Diagnostics.StackFrame performance degrade)

Le .NET Framework 4.7.1 dans Windows 10 a ajouté la prise en charge de la détection et de l'analyse du format de fichier (Windows 10)PDB portable pour afficher les informations de fichier et de numéro de ligne dans les traces de pile. Dans le cadre de cette modification, chaque fonction d'une trace de pile voit son module de définition vérifié pour déterminer si ce module utilise le format PDB portable . En raison(Due) de certaines différences dans la stratégie de mise en cache interne, le runtime passe beaucoup plus de temps à rechercher des PDB portables(Portable PDBs) que les versions précédentes du .NET Framework à rechercher des (Framework)PDB Windows(Windows PDBs) classiques .

Cela entraîne la production de traces de pile formatées plus lentement qu'auparavant.

Ce problème ne modifie pas le nombre d'exceptions levées. Cependant, cela réduit considérablement la capacité des applications à gérer ces exceptions.

Les applications qui utilisent la bibliothèque IKVM sont connues pour être affectées par ce problème si elles recherchent des assemblages. La recherche d'assemblys est connue pour provoquer des exceptions.

Correction(Fix System.Diagnostics.StackFrame) du problème de dégradation des performances de System.Diagnostics.StackFrame

Pour résoudre ce problème, Microsoft recommande d'utiliser l'une des méthodes suivantes.

1] Utilisez un constructeur différent pour StackFrame qui prend un argument booléen(1] Use a different constructor for StackFrame that takes a Boolean argument)

C'est la solution préférée.

Si les développeurs d'applications peuvent apporter des modifications à leurs applications, appelez (call the) System.Diagnostics.StackTrace. #ctor( Boolean ) constructeur en utilisant un argument faux pour éviter de capturer des informations sur la source. Cela évite la section du code dans laquelle les performances sont réduites.

2] Restauration ou mise à niveau vers la dernière version de Windows 10(2]  Rollback or upgrade to the latest Windows 10 version)

Dans cette méthode, revenez à la version/build précédente ou upgrade to the latest version/build  de Windows 10 si vous rencontrez ce problème et que vous n'exécutez pas actuellement la dernière version de Windows 10 . Désinstallez également .NET Framework 4.7.1 s'il est présent, de votre ordinateur, puis téléchargez(download) et installez une version précédente ou la dernière version de .NET Framework .

Hope this helps!



About the author

Je suis un technicien Windows 10 et j'aide les particuliers et les entreprises à tirer parti du nouveau système d'exploitation depuis de nombreuses années. J'ai une richesse de connaissances sur Microsoft Office, y compris comment personnaliser l'apparence et personnaliser les applications pour différents utilisateurs. De plus, je sais utiliser l'application Explorer pour explorer et rechercher des fichiers et des dossiers sur mon ordinateur.



Related posts