Η αλήθεια για την επιτάχυνση υλικού στο Android

Επιτάχυνση υλικού Android

Όταν η σχετικά ανοιχτή πλατφόρμα Android συγκρίνεται με ένα αυστηρά ελεγχόμενο σύστημα όπως το iOS, μία από τις πρώτες διαφορές που σημειώνουν οι άνθρωποι είναι η ανώτερη ομαλότητα των εφαρμογών στο iOS. Αυτό είναι κάτι που έχει το Android αγωνίστηκε με από την έναρξή του, αλλά πολλές από τις παραδοχές που έγιναν σχετικά με το γραφικό σύστημα του Android και πώς σχετίζονται με την ομαλότητα της διεπαφής είναι λάθος. Ο μηχανικός της Google, Dianne Hackborn, εξήγησε τα σκαμπανεβάσματα της επιτάχυνσης υλικού του Android σε πρόσφατο Δημοσίευση Google+, και μπορεί να μην είναι η μαγική σφαίρα που όλοι περίμεναν.

Σε αντίθεση με αυτά που έχουμε ακούσει πάντα, το Android είχε μερικοί επιτάχυνση υλικού για σχεδίαση στοιχείων 2D UI από πριν από το 1.0. Πολλές από τις κινούμενες εικόνες που βλέπουμε κάθε μέρα στο Android έχουν επιταχυνθεί υλικό όλο το χρόνο. Για παράδειγμα, αναδυόμενα μενού, παράθυρα διαλόγου, ολίσθηση στη γραμμή ειδοποιήσεων και μετάβαση μεταξύ δραστηριοτήτων σχεδιάζονται χρησιμοποιώντας την GPU.



Όλη η «σύνθεση παραθύρων» γίνεται χρησιμοποιώντας απόδοση υλικού που βασίζεται σε GPU. Μπορούμε να το θεωρήσουμε ως σχέδιο νέων στοιχείων στην οθόνη. Όταν πατηθεί το κουμπί μενού, η επικάλυψη που προκύπτει χειρίζεται η GPU. Εάν αλλάξει αυτή η επικάλυψη, όπως εάν επισημανθεί ή πατηθεί ένα κουμπί, αυτή η αλλαγή αποδίδεται στο λογισμικό και τα περισσότερα τηλέφωνα είναι περισσότερο από ικανά να ωθήσουν αυτά τα pixel. Όταν αλλάξει ολόκληρο το παράθυρο, αυτή είναι μια εργασία GPU.



Λοιπόν, τι αλλάζει Παγωτο ΣΑΝΤΟΥΪΤΣ (ICS); Σύμφωνα με τον Hackborn, αυτό που θα δούμε στο Android 4.0 είναι «πλήρης» επιτάχυνση υλικού. Όλα τα στοιχεία διεπαφής χρήστη σε παράθυρα και εφαρμογές τρίτων θα έχουν πρόσβαση στην GPU για απόδοση. Το Android 3.0 είχε το ίδιο σύστημα, αλλά τώρα οι προγραμματιστές θα μπορούν να στοχεύουν συγκεκριμένα Android 4.0 με επιτάχυνση υλικού. Η Google ενθαρρύνει τους προγραμματιστές να ενημερώσουν τις εφαρμογές ώστε να είναι πλήρως συμβατές με αυτό το σύστημα, προσθέτοντας την ετικέτα επιτάχυνσης υλικού στο μανιφέστο μιας εφαρμογής.

Αυτό ενδέχεται να πάρει χρόνο καθώς οι προγραμματιστές πιστοποιούν τις εφαρμογές τους στο ICS, αλλά η Google έχει συμπεριλάβει έναν διακόπτη στις ρυθμίσεις του Android για να επιβάλει την απόδοση υλικού. Ο Hackborn προειδοποιεί ότι σε μη δοκιμασμένες εφαρμογές, αυτό έχει τη δυνατότητα να σπάσει τα πράγματα με λεπτούς ή θεμελιώδεις τρόπους. Αυτό είναι μόνο το πρώτο πιθανό πρόβλημα με την επιτάχυνση υλικού στο Android.



Σάντουιτς παγωτού AndroidΜε την απόδοση όλων των κινούμενων σχεδίων και της διεπαφής χρήστη μιας εφαρμογής με την GPU, το σύστημα επιτυγχάνει τη χρήση της μνήμης. Η φόρτωση των προγραμμάτων οδήγησης OpenGL για κάθε διαδικασία απαιτεί χρήση μνήμης περίπου 2MB και αυξάνει τα 8MB. Σε συσκευές με περιορισμένη μνήμη RAM, αυτό μπορεί να είναι ένα πραγματικό πρόβλημα. Όταν καταναλώνεται περισσότερη μνήμη RAM, το σύστημα θα πρέπει αναγκαστικά να κλείσει περισσότερες εργασίες στο παρασκήνιο για να εξοικονομήσει μνήμη. Ορισμένοι προγραμματιστές ενδέχεται να μην θέλουν να χρησιμοποιήσουν την GPU για σχεδίαση ως αποτέλεσμα.

Ο στόχος της απόδοσης υλικού για τη διεπαφή είναι η ομαλότερη λειτουργία, αλλά εάν δεν αντιμετωπιστεί σωστά, οι συσκευές Android μπορούν πραγματικά να έχουν χειρότερη απόδοση. Χρησιμοποιώντας το παράδειγμα του Tegra 2, το οποίο μπορεί να αποδώσει όλα τα pixel σε οθόνη 1280 × 800 2,5 φορές το δευτερόλεπτο στα 60FPS, το πρόβλημα είναι ξεκάθαρο. Η GPU αγγίζει κάθε εικονοστοιχείο μία φορά για το φόντο, μία φορά για εικονίδια και γραφικά στοιχεία, για άλλη μια φορά για ετικέτες και, στη συνέχεια, υπάρχουν κινούμενα σχέδια που πρέπει να αντιμετωπιστούν. Δεν υπάρχει τρόπος να φτάσετε στο 60FPS κάνοντας πράγματα με τέτοιο τρόπο.

Το Android κάνει την επιτάχυνση υλικού να λειτουργεί με πολλά κόλπα και οι προγραμματιστές πρέπει να λάβουν υπόψη τους. Πρώτα, ξεχωριστά παράθυρα στη διεπαφή αντιγράφονται σε ενοποιημένες επικαλύψεις για πιο αποτελεσματική πρόσβαση GPU. Το Android αποδίδει επίσης το φόντο ως ένα μεγάλο bitmap που δεν χρειάζεται να αποδίδεται ξανά καθώς ο χρήστης κάνει κύλιση.



Οι προγραμματιστές θα πρέπει να είναι προσεκτικοί στον τρόπο χειρισμού της επιτάχυνσης υλικού. Η απλή σχεδίαση όλων με την GPU θα μπορούσε να οδηγήσει σε κακή απόδοση σε υπάρχοντα τηλέφωνα. Για το μέλλον, όσο υψηλότερη είναι η ανάλυση σε μια συσκευή, τόσο πιο σχετική ταχύτητα GPU θα είναι η συνολική ομαλότητα και εγγύτητα με αυτό το όριο 60FPS. Ο περιοριστικός παράγοντας για την ταχύτητα μιας συσκευής θα είναι συχνά το εύρος ζώνης του διαύλου μνήμης GPU.

Copyright © Ολα Τα Δικαιώματα Διατηρούνται | 2007es.com