Σε ένα πρόσφατο blog post του David Bienvenu. προγραμματιστή που εργάζεται στον Chrome της Google, η εταιρεία αποκάλυψε τις αλλαγές που έκανε στον browser της και τις βελτιώσεις απόδοσης που απέφεραν.
Συγκεκριμένα, ο Chrome στο σύνολό του έγινε 8,5 με 25,8% γρηγορότερος στην εκκίνηση, χρησιμοποιεί 3,1% λιγότερη μνήμη από την κάρτα γραφικών, ελάττωσε τα απαιτούμενα renders κατά 20,4% και τα προβλήματα χρηστών με renders μειώθηκαν κατά 4,5%. Επιπλέον παρατηρήθηκε 3% βελτίωση στην καθυστέρηση αρχικής εισόδου όπως και 6,7% βελτίωση στην πρώτη και μεγαλύτερη δημιουργία περιεχομένου.
Όλα αυτά επιτεύχθηκαν, προσθέτοντας στον browser τη δυνατότητα να “καταλαβαίνει” πότε τα παράθυρά του είναι στο προσκήνιο ή στο παρασκήνιο, πίσω από άλλα παράθυρα εφαρμογών. Η μεθοδολογία που εφαρμόστηκε είναι ίδια με αυτή που έγινε και με τις καρτέλες του Chrome, όπου όταν οι καρτέλες δεν χρησιμοποιούνται (ή δεν προβάλλονται από τον χρήστη), διακόπτεται το rendering του περιεχομένου. Έτσι γίνεται αποδέσμευση πόρων και ο browser δουλεύει ταχύτερα.
Όταν όμως έγινε προσπάθεια να εφαρμοστεί η ίδια λογική σε όλο το παράθυρο του Chrome, παρουσιάστηκαν κάποια θέματα. Το λειτουργικό σύστημα δεν παρέχει τρόπο να καταλαβαίνει ένα πρόγραμμα πότε καλύπτεται το παράθυρό του από άλλα. Αν ένα παράθυρο του Chrome καλύπτει ένα άλλο δεν υπάρχει πρόβλημα, αλλά όταν είναι άλλα προγράμματα δημιουργείται ένα πρόβλημα.
Ακόμη πιο περίπλοκο έγινε και με multi-monitor χρήστες, virtual desktop, μη-διαφανή παράθυρα και cloaked παράθυρα εφαρμογών. Όπως εξήγησε ο Bienvenu, “όλα αυτά πρέπει να γίνουν με μεγάλη προσοχή, γιατί αν αποφασίσουμε πως ένα παράθυρο καλύπτεται ενώ στην πραγματικότητα προβάλλεται από τον χρήστη, τότε η περιοχή θα είναι απλά κενή. Επίσης δεν θέλουμε να αποκλείσουμε το νήμα όπου τρέχει το UI ενώ γίνεται ο υπολογισμός κάλυψης, γιατί έτσι θα μειωθεί η απόκριση του Chrome και θα υποβαθμιστεί η εμπειρία του τελικού χρήστη“.
Μετά από τρία χρόνια πειραματισμού και δοκιμών, η ομάδα ανάπτυξης πέτυχε τον στόχο της με το Native Native Window Occlusion και βελτίωσε την εκκίνηση έως και 25%.
Πηγή: insomnia.gr
(Κώστας Παπαζαχαρίου, αναδημοσίευση 15/12/2021)
Join the Conversation →