Η απόδοση 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 για την εμφάνιση πληροφοριών αρχείου και αριθμού γραμμής σε ίχνη στοίβας. (PDB)Ως μέρος αυτής της αλλαγής, κάθε συνάρτηση σε ένα ίχνος στοίβας ελέγχεται η καθοριστική της ενότητα για να προσδιοριστεί εάν αυτή η λειτουργική μονάδα χρησιμοποιεί τη μορφή φορητού PDB . Λόγω(Due) κάποιων διαφορών στην πολιτική εσωτερικής προσωρινής αποθήκευσης, ο χρόνος εκτέλεσης αφιερώνει πολύ περισσότερο χρόνο στην αναζήτηση φορητών PDB(Portable PDBs) από ό,τι προηγούμενες εκδόσεις .NET Framework για αναζήτηση κλασικών (Framework)PDB των Windows(Windows PDBs) .
Αυτό προκαλεί την παραγωγή μορφοποιημένων ιχνών στοίβας πιο αργά από πριν.
Αυτό το ζήτημα δεν αλλάζει τον αριθμό των εξαιρέσεων που γίνονται. Ωστόσο, μειώνει σημαντικά την ικανότητα των εφαρμογών να χειρίζονται αυτές τις εξαιρέσεις.
Οι εφαρμογές που χρησιμοποιούν τη βιβλιοθήκη IKVM είναι γνωστό ότι επηρεάζονται από αυτό το ζήτημα εάν πραγματοποιούν ανίχνευση συγκροτημάτων. Η ανίχνευση για συγκροτήματα είναι γνωστό ότι προκαλεί εξαιρέσεις.
Επιδιόρθωση(Fix System.Diagnostics.StackFrame) ζητήματος υποβάθμισης της απόδοσης System.Diagnostics.StackFrame
Για να επιλύσετε αυτό το ζήτημα, η Microsoft συνιστά τη χρήση μίας από τις ακόλουθες μεθόδους.
1] Χρησιμοποιήστε έναν διαφορετικό κατασκευαστή για το StackFrame που παίρνει ένα όρισμα Boole(1] Use a different constructor for StackFrame that takes a Boolean argument)
Αυτή είναι η προτιμώμενη λύση.
Εάν οι προγραμματιστές εφαρμογών μπορούν να κάνουν αλλαγές στις εφαρμογές τους, καλέστε το (call the) System.Diagnostics.StackTrace. Κατασκευαστής #ctor( Boolean ) χρησιμοποιώντας ένα ψευδές όρισμα για να αποφευχθεί η καταγραφή πληροφοριών πηγής. Αυτό αποφεύγει την ενότητα του κώδικα στην οποία μειώνεται η απόδοση.
2] Επαναφορά ή αναβάθμιση στην πιο πρόσφατη έκδοση των Windows 10(2] Rollback or upgrade to the latest Windows 10 version)
Σε αυτήν τη μέθοδο, επιστρέψτε στην προηγούμενη έκδοση/κατασκευή ή upgrade to the latest version/build των Windows 10 , εάν αντιμετωπίζετε αυτό το πρόβλημα και δεν εκτελείτε αυτήν τη στιγμή την πιο πρόσφατη έκδοση των Windows 10 . Επίσης, απεγκαταστήστε το .NET Framework 4.7.1 , εάν υπάρχει, από τον υπολογιστή σας και, στη συνέχεια, πραγματοποιήστε λήψη(download) και εγκατάσταση μιας προηγούμενης έκδοσης ή της πιο πρόσφατης έκδοσης του .NET Framework .
Hope this helps!
Related posts
Πώς να ελέγξετε την έκδοση .NET Framework που είναι εγκατεστημένη σε υπολογιστή Windows 10
Διορθώστε το σφάλμα 0x800F080C κατά την εγκατάσταση του .NET Framework στα Windows 10
Επιλέξτε πού να λαμβάνετε εφαρμογές η επιλογή είναι γκριζαρισμένη στις Ρυθμίσεις των Windows 10
Το VPN που βασίζεται σε CMAK δεν λειτουργεί μετά την αναβάθμιση των Windows 10
Το Cloud Clipboard (Ctrl+V) δεν λειτουργεί ή δεν συγχρονίζεται στα Windows 10
Το SID εμφανίζεται αντί για Όνομα χρήστη ή φιλικό όνομα στα Windows 10
Η αξιολόγηση K-12 αναφέρει εφαρμογές που εκτελούνται σε φόντο των Windows 10
Ζητήματα λειτουργίας CreateWindowEx για εφαρμογές 32-bit στα Windows 10
Το Ashampoo WinOptimizer είναι ένα δωρεάν λογισμικό για τη βελτιστοποίηση των Windows 10
Εντοπίστηκε πιθανό σφάλμα βάσης δεδομένων του Windows Update στα Windows 10
Μία ή περισσότερες υπηρεσίες ήχου δεν εκτελούνται σε συσκευές Windows 10
Η λειτουργία πτήσης δεν απενεργοποιείται στα Windows 10
Τα Windows δεν μπόρεσαν να ολοκληρώσουν τις ζητούμενες αλλαγές
Αντιμετώπιση προβλημάτων του εκτυπωτή που έχει κολλήσει σε κατάσταση εκτός σύνδεσης στα Windows
Το MSVCR71.dll λείπει από τον υπολογιστή Windows 10
Πώς να χρησιμοποιήσετε το Network Sniffer Tool PktMon.exe στα Windows 10
Ο σύγχρονος κεντρικός υπολογιστής εγκατάστασης σταμάτησε να λειτουργεί - Σφάλμα Windows 10
Απόκρυψη της επιλογής Γραμμών εργαλείων στο μενού περιβάλλοντος της γραμμής εργασιών στα Windows 10
Τρόπος αντιμετώπισης προβλημάτων συνδεσιμότητας δικτύου στα Windows 10
Πώς να απενεργοποιήσετε τις Αυτόματες ενημερώσεις προγραμμάτων οδήγησης στα Windows 10