Οδικός χάρτης για τη βελτίωση της υποστήριξης Wayland στον Firefox

Ο Martin Stransky, ένας συντηρητής πακέτων Firefox για το Fedora και τη RHEL, ο οποίος μεταφέρει τον Firefox στο Wayland, δημοσίευσε μια αναφορά που εξετάζει τις τελευταίες εξελίξεις στον Firefox που εκτελείται σε περιβάλλοντα που βασίζονται σε πρωτόκολλα Wayland.

Στις επόμενες εκδόσεις του Firefox, σχεδιάζεται να λυθούν τα προβλήματα που παρατηρούνται στις εκδόσεις για το Wayland με το πρόχειρο και το χειρισμό των αναδυόμενων παραθύρων. Αυτές οι δυνατότητες δεν μπόρεσαν να εφαρμοστούν αμέσως λόγω διαφορών στην προσέγγιση της εφαρμογής τους στο X11 και στο Wayland. Στην πρώτη περίπτωση, προέκυψαν δυσκολίες λόγω της ασύγχρονης λειτουργίας του πρόχειρου Wayland, κάτι που απαιτούσε τη δημιουργία ενός ξεχωριστού επιπέδου για την αφηρημένη πρόσβαση στο πρόχειρο του Wayland. Το καθορισμένο επίπεδο θα προστεθεί στον Firefox 93 και θα ενεργοποιηθεί από προεπιλογή στο Firefox 94.

Όσον αφορά τους αναδυόμενους διαλόγους, η κύρια δυσκολία ήταν ότι η Wayland απαιτεί μια αυστηρή ιεραρχία των αναδυόμενων παραθύρων, δηλ. ένα γονικό παράθυρο μπορεί να δημιουργήσει ένα θυγατρικό παράθυρο με ένα αναδυόμενο παράθυρο, αλλά το επόμενο αναδυόμενο παράθυρο που ξεκινά από αυτό το παράθυρο πρέπει να συνδέεται με το αρχικό θυγατρικό παράθυρο, σχηματίζοντας μια αλυσίδα. Στον Firefox, κάθε παράθυρο θα μπορούσε να δημιουργήσει πολλά αναδυόμενα παράθυρα που δεν σχημάτιζαν ιεραρχία. Το πρόβλημα ήταν ότι όταν χρησιμοποιείτε το Wayland, το κλείσιμο ενός από τα αναδυόμενα παράθυρα απαιτεί την εκ νέου κατασκευή ολόκληρης της αλυσίδας των παραθύρων με άλλα αναδυόμενα παράθυρα, παρά το γεγονός ότι η παρουσία πολλών ανοιχτών αναδυόμενων παραθύρων δεν είναι ασυνήθιστη, καθώς τα μενού και τα αναδυόμενα παράθυρα υλοποιούνται με τη μορφή αναδυόμενα παράθυρα συμβουλές εργαλείων, παράθυρα διαλόγου πρόσθετων, αιτήματα αδειών κ.λπ. Η κατάσταση περιπλέκεται επίσης από ελαττώματα στο Wayland και στο GTK, λόγω των οποίων μικρές αλλαγές θα μπορούσαν να οδηγήσουν σε διάφορες παλινδρομήσεις. Ωστόσο, ο κώδικας για το χειρισμό αναδυόμενων παραθύρων για το Wayland έχει διορθωθεί και σχεδιάζεται να συμπεριληφθεί στον Firefox 94.

Άλλες βελτιώσεις που σχετίζονται με το Wayland περιλαμβάνουν την προσθήκη 93 αλλαγών κλιμάκωσης στον Firefox σε διαφορετικές οθόνες DPI, οι οποίες εξαλείφουν το τρεμόπαιγμα όταν μετακινείτε ένα παράθυρο στην άκρη της οθόνης σε διαμορφώσεις πολλαπλών οθονών. Ο Firefox 95 σχεδιάζει να αντιμετωπίσει προβλήματα που προκύπτουν κατά τη χρήση της διεπαφής μεταφοράς και απόθεσης, για παράδειγμα, κατά την αντιγραφή αρχείων από εξωτερικές πηγές σε τοπικά αρχεία και κατά τη μετακίνηση καρτελών.

Με την κυκλοφορία του Firefox 96, η θύρα Firefox για το Wayland σχεδιάζεται να εξισωθεί συνολικά ως προς τη λειτουργικότητα με την έκδοση X11, τουλάχιστον όταν εκτελείται στο περιβάλλον GNOME του Fedora. Μετά από αυτό, η προσοχή των προγραμματιστών θα στραφεί στην ολοκλήρωση της εργασίας σε περιβάλλοντα Wayland της διαδικασίας GPU, η οποία περιέχει κώδικα για αλληλεπίδραση με προσαρμογείς γραφικών και προστατεύει τη διαδικασία του κύριου προγράμματος περιήγησης από συντριβή σε περίπτωση αποτυχίας του προγράμματος οδήγησης. Η διαδικασία GPU έχει επίσης προγραμματιστεί να περιλαμβάνει κώδικα για αποκωδικοποίηση βίντεο με χρήση VAAPI, ο οποίος εκτελείται επί του παρόντος σε διαδικασίες επεξεργασίας περιεχομένου.

Επιπλέον, μπορούμε να σημειώσουμε τη συμπερίληψη μιας λειτουργίας αυστηρής απομόνωσης ιστότοπου, που αναπτύχθηκε ως μέρος του έργου Fission, για ένα μικρό ποσοστό χρηστών των σταθερών υποκαταστημάτων του Firefox. Σε αντίθεση με την αυθαίρετη κατανομή της επεξεργασίας καρτελών σε όλη τη διαθέσιμη ομάδα διεργασιών (8 από προεπιλογή), που χρησιμοποιείται μέχρι τώρα, η λειτουργία γραμμής απομόνωσης τοποθετεί την επεξεργασία κάθε τοποθεσίας στη δική της ξεχωριστή διαδικασία, χωρισμένη όχι με καρτέλες, αλλά ανά τομέα (Δημόσιο Επίθημα), το οποίο επιτρέπει πρόσθετα περιεχόμενα απομόνωσης εξωτερικών σεναρίων και μπλοκ iframe. Η ενεργοποίηση της λειτουργίας Fission ελέγχεται μέσω της μεταβλητής "fission.autostart=true" στο about:config ή στη σελίδα about:preferences#experimental.

Η λειτουργία αυστηρής απομόνωσης βοηθά στην προστασία από επιθέσεις πλευρικών καναλιών, όπως αυτές που σχετίζονται με ευπάθειες Spectre, και επίσης μειώνει τον κατακερματισμό της μνήμης, επιστρέφει πιο αποτελεσματικά τη μνήμη στο λειτουργικό σύστημα, ελαχιστοποιεί τον αντίκτυπο της συλλογής σκουπιδιών και εντατικούς υπολογισμούς σε σελίδες σε άλλες διεργασίες και αυξάνει την αποτελεσματικότητα της κατανομής φορτίου σε διαφορετικούς πυρήνες της CPU και αυξάνει τη σταθερότητα (η συντριβή της διαδικασίας επεξεργασίας του iframe δεν θα επηρεάσει την κύρια τοποθεσία και άλλες καρτέλες).

Μεταξύ των γνωστών προβλημάτων που προκύπτουν κατά τη χρήση της λειτουργίας αυστηρής απομόνωσης, υπάρχει μια αξιοσημείωτη αύξηση στην κατανάλωση μνήμης και περιγραφής αρχείων κατά το άνοιγμα μεγάλου αριθμού καρτελών, καθώς και διακοπή της εργασίας ορισμένων πρόσθετων, εξαφάνιση του περιεχομένου iframe όταν εκτύπωση και κλήση της λειτουργίας εγγραφής στιγμιότυπου οθόνης, μειωμένη απόδοση της προσωρινής αποθήκευσης εγγράφων από το iframe, Απώλεια περιεχομένου συμπληρωμένων αλλά μη υποβληθέντων φορμών κατά την επαναφορά μιας περιόδου λειτουργίας μετά από σφάλμα.

Άλλες αλλαγές στον Firefox περιλαμβάνουν την ολοκλήρωση της μετάβασης στο σύστημα τοπικής προσαρμογής Fluent, βελτιώσεις στη λειτουργία υψηλής αντίθεσης, την προσθήκη της δυνατότητας εγγραφής προφίλ απόδοσης διεργασιών με ένα κλικ στο about:processes και την αφαίρεση μιας ρύθμισης για την επιστροφή του παλιού στυλ της σελίδας νέας καρτέλας που χρησιμοποιήθηκε πριν από τον Firefox 89.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο