.RAPPORTER

Système.Diagnostique.Les performances de StackFrame se dégradent dans Windows 10

Système.Diagnostique.Les performances de StackFrame se dégradent dans Windows 10

Si après la mise à niveau vers Windows 10 ou .NET Framework 4.7.1, et vous remarquez une diminution significative des performances lorsque vous exécutez .NET Framework qui utilisent le Système.Diagnostique.StackFrame classe, alors ce post pourrait vous intéresser. Nous examinerons la cause, puis proposerons des correctifs connus pour l'erreur.

Système.Diagnostique.Dégradation des performances de StackFrame

Une application qui avait des performances acceptables s'exécutant sur le .NET Framework 4.7 ou les versions antérieures s'exécutent plus lentement lors de l'exécution sur le .NET Framework 4.7.1. Les applications s'appuient généralement sur StackFrame lorsqu'elles lancent .Exceptions nettes. Si cela se produit à un rythme élevé (plus de 10 incidents par seconde), les applications peuvent ralentir considérablement (dix fois) et s'exécuter sensiblement plus lentement qu'auparavant.

Cause du système.Diagnostique.Dégradation des performances de StackFrame

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 Portable PDB pour afficher les informations de numéro de fichier et de ligne dans les traces de pile. Dans le cadre de ce changement, chaque fonction d'une trace de pile a son module de définition vérifié pour déterminer si ce module utilise le format Portable PDB. En raison de certaines différences dans la politique de mise en cache interne, le runtime passe beaucoup plus de temps à rechercher des PDB portables que les précédents .NET Framework passées à rechercher des PDB Windows classiques.

Cela provoque la production des traces de pile formatées plus lentement qu'auparavant.

Ce problème ne modifie pas le nombre d'exceptions levées. Cependant, cela diminue 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 assemblys. La recherche d'assemblages est connue pour provoquer des exceptions.

Système de correction.Diagnostique.Problème de dégradation des performances de 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

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

Si les développeurs d'applications sont en mesure d'apporter des modifications à leurs applications, appelez le.Diagnostique.Trace de la pile.#ctor(Boolean) constructeur en utilisant un faux argument pour éviter de capturer les informations de la source. Cela évite la section du code dans laquelle les performances sont diminuées.

2] Restauration ou mise à niveau vers la dernière version de Windows 10

Dans cette méthode, restaurez la version/build précédent ou mettez à niveau vers la dernière 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ésinstaller aussi .NET Framework 4.7.1 le cas échéant, depuis votre ordinateur, puis téléchargez et installez une version précédente ou la dernière version de .NET Framework.

J'espère que cela t'aides!

5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...