Το Quantum Project της Mozilla είναι μια νέα μηχανή για τον Firefox
Πριν από λίγες ημέρες, η Mozilla παρουσίασε το νέο της έργο, το "Quantum", το οποίο στοχεύει στην παροχή μιας νέας, ιδιαίτερα βελτιωμένης μηχανής για το πρόγραμμα περιήγησης Firefox. Θα βασίζεται στο Gecko και θα φέρει πολλές βελτιώσεις στην απόδοση του Gecko, χάρη στην αυξημένη συγχρονισμός και παραλληλισμός, μειωμένη καθυστέρηση και καλύτερη αξιοπιστία που παρέχονται από τη γλώσσα κώδικα Rust και χαρακτηριστικά.
Το Quantum χωρίζεται χονδρικά σε τέσσερα διαφορετικά έργα.
Το έργο Quantum CSS θα αντικαταστήσει τον κινητήρα CSS της Gecko με αυτόν της Servo. Το Servo είναι η μακροπρόθεσμη αντικατάσταση της Gecko που βασίζεται σε μια σύγχρονη, υψηλής απόδοσης, παραλληλισμένη αρχιτεκτονική.
Το έργο Quantum DOM θα κάνει το Gecko πιο ευαίσθητο, ειδικά όταν υπάρχουν πολλές ανοιχτές καρτέλες φόντου. Όταν ολοκληρωθεί το Quantum DOM, ο κώδικας JS για διαφορετικές καρτέλες (και πιθανώς διαφορετικά iframe) θα εκτελείται σε ξεχωριστά συνεργαζόμενα προγραμματισμένα νήματα. ο κώδικας για ορισμένες καρτέλες φόντου δεν θα εκτελεστεί ποτέ καθόλου.
Διαφήμιση
Το Quantum Compositor μετακινεί τον συνθέτη του Gecko στη δική του διαδικασία. Δεδομένου ότι η αστάθεια του προγράμματος οδήγησης γραφικών είναι μια σημαντική πηγή σφαλμάτων του Firefox, αναμένουμε ότι η μετακίνηση κώδικα που αλληλεπιδρά με τη GPU στη δική της διαδικασία θα κάνει τον Firefox πιο σταθερό.
Τέλος, το Quantum Rendering θα αντικαταστήσει το υποσύστημα γραφικών του Gecko με αυτό της Servo, που ονομάζεται WebRender. Το Servo χρησιμοποιεί τη GPU πιο αποτελεσματικά από το Gecko, οδηγώντας την περισσότερο σαν παιχνίδι παρά με πρόγραμμα περιήγησης ιστού.
Αυτά τα έργα βρίσκονται σε διάφορα στάδια ολοκλήρωσης. Το Quantum Compositor είναι αρκετά μακριά ενώ το Quantum Rendering μόλις ξεκινά. Υπάρχει ακόμη μεγάλη αβεβαιότητα σχετικά με τα έργα.
Quantum DOM
Το Quantum DOM θα εκτελεί τον κώδικα JavaScript για διαφορετικές καρτέλες σε παράλληλα νήματα, κάτι που θα επιτρέψει την αύξηση της απόδοσης του προγράμματος περιήγησης με πολλές ανοιχτές καρτέλες. Για εναλλαγή μεταξύ των νημάτων, θα χρησιμοποιηθεί ένας ειδικός χρονοπρογραμματιστής για την ομαλή αλλαγή του περιβάλλοντος on-the-fly. Πολλές βελτιώσεις θα έρθουν για να πιάσουν βαριά σενάρια και άπειρους βρόχους στον κώδικα Javascript.
Κβαντική Ροή
Το Quantum Flow είναι μέρος του έργου Quantum που είναι αφιερωμένο στις προηγμένες βελτιστοποιήσεις της διεπαφής χρήστη του προγράμματος περιήγησης.
Δείτε το παρακάτω βίντεο:
Πηγή: Blog του Bill McCloskey.