Τώρα γνωρίζουμε ότι το Android Q θα υποστηρίζει το Vulkan-backend για ANGLE για να διευκολύνει την ανάπτυξη 2D παιχνιδιών. Διαβάστε παρακάτω για να μάθετε περισσότερα για το τι σημαίνει αυτό.
Vulkan API Η υποστήριξη για Android ανακοινώθηκε με το Android Nougat πίσω στο Google I/O 2016. Για να ανανεώσετε το μυαλό σας, αυτό το API βοηθά τους προγραμματιστές να αποκτήσουν περισσότερο έλεγχο του υλικού χαμηλού επιπέδου. Αυτό το είδος πρόσβασης τους βοηθά να εκμεταλλεύονται καλύτερα την επεξεργαστική και γραφική ισχύ των αντίστοιχων μονάδων και να βελτιστοποιούν τα παιχνίδια ώστε να τρέχουν όσο το δυνατόν πιο ομαλά. Δεν αποτελεί έκπληξη το γεγονός ότι η σωστή κατανομή μνήμης και η διαχείριση νημάτων είναι σημαντικά σε κάθε είδους εργασίες που απαιτούν ενέργεια, όπως η εκτέλεση ενός παιχνιδιού. Αυτό κάνουν οι δημοφιλείς κονσόλες όπως το Xbox One και το PlayStation 4 εδώ και πολύ καιρό - δίνοντας στους προγραμματιστές έλεγχο χαμηλού επιπέδου του υλικού μέσα στις συσκευές.
Αυτό που είναι επίσης ενδιαφέρον είναι ότι το Vulkan είναι ένα ανοιχτό πρότυπο πολλαπλών πλατφορμών, που στοχεύει εφαρμογές γραφικών σε όλες τις πλατφόρμες. Νωρίτερα φέτος,
βρήκαμε μια ένδειξη ότι το Android Q μπορεί να αποδίδει τα στοιχεία διεπαφής χρήστη μέσω Vulkan API. Αυτό θα είναι ένα βήμα για περαιτέρω βελτίωση της ομαλότητας του συστήματος. Τώρα, λάβαμε πληροφορίες ότι το Android Q θα υποστηρίζει σίγουρα το ANGLE για να διευκολύνει την ανάπτυξη 2D παιχνιδιών.Τι είναι το ANGLE;
Το ANGLE είναι συντομογραφία και σημαίνει "Almost Native Graphics Layer Engine". Η άνοδος του WebGL έκανε την ανάγκη για μια τυποποιημένη λύση υποστήριξης του renderer. Τα προγράμματα οδήγησης OpenGL δεν ήταν πολύ σταθερά στην πλατφόρμα των Windows για αρκετό καιρό. Έτσι, το ANGLE πήγε τα πάντα σε ένα εντελώς νέο επίπεδο με τη μετάφραση του κώδικα OpenGL σε Direct3D, ένα API που υποστηρίζεται εγγενώς στα Windows. Ο κύριος στόχος του ANGLE είναι να καταστήσει το OpenGL φορητό και προσβάσιμο σε όλους μεταφράζοντας το περιεχόμενο WebGL και OpenGL ES σε ένα API που υποστηρίζεται από υλικό διαθέσιμο στην πλατφόρμα. Χρησιμοποιώντας την ίδια αρχή, το ANGLE θα μεταφράσει τον κώδικα OpenGL σε κώδικα Vulkan στο Android, καθώς ο πρώτος είναι ένα επίσημα υποστηριζόμενο API υλικού στο λειτουργικό σύστημα. Πιθανότατα χρησιμοποιείτε το ANGLE κάθε μέρα χωρίς να το καταλάβετε ποτέ. Το ANGLE είναι ενσωματωμένο στα προγράμματα περιήγησης ιστού Google Chrome και Mozilla Firefox για επιτραπέζιους υπολογιστές. Χρησιμοποιείται για την απόδοση οποιουδήποτε γραφικού περιεχομένου μέσα σε αυτά τα προγράμματα περιήγησης στα Windows.
OpenGL ES εναντίον Vulkan
Ο Όμιλος Khronos εργάζεται σκληρά για να κάνει το ANGLE τον κύριο renderer του OpenGL στο Vulkan. Πολλοί από εσάς μπορεί να μην βλέπετε την ανάγκη να απαλλαγείτε από το OpenGL υπέρ του Vulkan, αλλά σίγουρα υπάρχει περιθώριο βελτίωσης. Σε αυτό το σημείο, το OpenGL API θεωρείται μια αντίκα τεχνολογία. Κυκλοφόρησε αρχικά το 1992, δηλαδή πριν από 26 χρόνια. Τα 26 χρόνια μπορεί να μην σημαίνουν πολλά για κάποιους από εσάς, αλλά είναι ένας αστρονομικός αριθμός όσον αφορά την ανάπτυξη της τεχνολογίας. Το 2016, ο κόσμος παρουσιάστηκε στο Vulkan - το επόμενο επίπεδο γραφικών API. Αλλά, νεότερο δεν σημαίνει αυτόματα καλύτερο, σωστά; Επιτρέψτε μου να εξηγήσω γιατί το Vulkan είναι πολύ καλύτερο από το OpenGL/OpenGL ES.
Εάν έχετε ασχοληθεί ποτέ με το OpenGL ES, θα ξέρετε ότι είναι τεράστιος. Το API έχει πάνω από 300 επεκτάσεις και δεν είναι καθόλου εύκολο στη χρήση. Το Vulkan παίρνει τα πάντα σε ένα εντελώς νέο επίπεδο, προσφέροντας ένα πολύ μικρότερο API και άμεσο έλεγχο των γραφικών. Είναι επίσης πιο εύκολο να εφαρμοστεί. Αν και το Vulkan λειτουργεί σε χαμηλότερο επίπεδο από το OpenGL ES, αυτό σημαίνει περισσότερη δύναμη στον έλεγχο. Με το Vulkan, η διαχείριση νημάτων και μνήμης επαφίεται πλήρως στον προγραμματιστή του παιχνιδιού, ώστε να μπορείτε να χρησιμοποιήσετε τους πόρους επαρκώς. Επίσης, υπάρχει μια πολύ μικρή διαφορά μεταξύ της έκδοσης για φορητές και επιτραπέζιους υπολογιστές του Vulkan, κάνοντας έτσι πολύ πιο εύκολη τη μεταφορά παιχνιδιών. Για να το θέσω εν συντομία, το Vulkan είναι ένα πρόγραμμα οδήγησης χαμηλού επιπέδου που σας επιτρέπει να απελευθερώσετε πλήρως τις δυνατότητες της κάρτας γραφικών που υπάρχει στη συγκεκριμένη συσκευή.
Γιατί ANGLE;
Το πρώτο πλεονέκτημα του ANGLE είναι ότι είναι μια ανοιχτή πλατφόρμα. Υπάρχουν πολλοί τρόποι για να συνεισφέρετε στο έργο. Θα μπορούσατε να δοκιμάσετε το πρόγραμμα οδήγησης στις συσκευές σας, να αναφέρετε σφάλματα, να διορθώσετε σφάλματα, να βοηθήσετε τους προγραμματιστές να βρουν λύσεις, να στείλετε προτάσεις, να δωρίσετε κάποια χρήματα για την ανάπτυξη κ.λπ. Όλα αυτά θα ενισχύσουν την ταχύτητα ανάπτυξης. Το επόμενο μεγάλο πλεονέκτημα σε σύγκριση με το OpenGL ES είναι η φορητότητα και η υποστήριξη πολλαπλών πλατφορμών. Η φύση του ANGLE κάνει τη δουλειά πιο εύκολη τόσο για τους προγραμματιστές πλατφορμών όσο και για τους προγραμματιστές παιχνιδιών. Η διατήρηση και η εφαρμογή του ANGLE είναι πολύ πιο εύκολη από προηγούμενες υλοποιήσεις. Το OpenGL είναι τόσο κατακερματισμένο που η ανίχνευση των σφαλμάτων και η επίλυσή τους σε διαφορετικές συσκευές είναι ένας πόνος για τους προγραμματιστές. Η συγκέντρωση όλων των απαιτούμενων προγραμμάτων οδήγησης στο ANGLE σημαίνει ότι οι προγραμματιστές θα έχουν ευκολότερο χρόνο στην εφαρμογή τους. Ο προγραμματιστής του ANGLE, Jamie Madill, επιβεβαίωσε μαζί μας ότι στην πλατφόρμα Android, το ANGLE θα λαμβάνει τακτικές ενημερώσεις μέσω του Google Play Store. Η ενημέρωση των προγραμμάτων οδήγησης μέσω της ενσωματωμένης αγοράς πρώτου κατασκευαστή είναι μια καλή ιδέα, επειδή ο χρήστης δεν θα χρειάζεται να ενημερώνει ολόκληρο το σύστημα κάθε φορά που ενημερώνεται το πρόγραμμα οδήγησης. Επίσης, οι προγραμματιστές δεν θα χρειάζεται να πειράζουν τον κώδικα κάθε φορά που το ANGLE αλλάζει κάτι. Ακολουθεί ένα βίντεο σχετικά με το πώς το ANGLE μπορεί να ωφελήσει την ανάπτυξη παιχνιδιών Android.
Όπως μπορείτε να δείτε, το ANGLE έχει πολλές βελτιώσεις σε σχέση με το χρονολογημένο OpenGL ES. Η πρώτη έκδοση προεπισκόπησης προγραμματιστή του Android Q δεν είναι πολύ μπροστά, επομένως μπορούμε να περιμένουμε να δούμε πώς λειτουργεί το ANGLE στην πράξη. Σύμφωνα με αυτή η δέσμευση, οι χρήστες θα μπορούν να αναγκάσουν όλες τις εφαρμογές να λειτουργούν με το ANGLE από τις επιλογές προγραμματιστή. Η υποστήριξη για το renderer είναι έχει ήδη συγχωνευθεί στον κλάδο Android Pie για να το δοκιμάσουν οι OEM. Μπορείτε να παρακολουθείτε την ανάπτυξη του ANGLE από τον ιστότοπο και το αποθετήριο GitHub παρακάτω.
Χάρη στο ανώτερο μέλος του XDA XxPixX για το φιλοδώρημα!
Ιστότοπος ANGLEΑποθετήριο GitHub