Ακόμα και ο Έλεγχος έντασης του Android είναι απελπιστικά κατακερματισμένος

Γνωρίζουμε ήδη ότι ανάμεσα σε εκατοντάδες διαφορετικές κατασκευές και συσκευές Android, το λειτουργικό σύστημα smartphone της Google είναι απελπιστικά κατακερματισμένος, και απαιτεί τεράστια έξοδα και χρόνο από την πλευρά των προγραμματιστών για να λειτουργήσει αξιόπιστα ακόμη και μια απλή εφαρμογή.

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

Ο Eliot Van Buskirk του Evolver.fm μίλησε με έναν προγραμματιστή πίσω από μια πολύ δημοφιλή αλλά ανώνυμη εφαρμογή μουσικής που προσπαθεί να έρθει στο Android. Μιλώντας υπό την προϋπόθεση της ανωνυμίας (λόγω του γεγονότος ότι η εφαρμογή, παρά αυτά τα προβλήματα, θα ξεκινήσει τελικά στο Google Play), εξηγεί ο προγραμματιστής γιατί η εφαρμογή της Google για κάτι τόσο διορθωτικό όσο ο έλεγχος έντασης είναι απελπιστικά σπασμένη και οδηγεί σε ακόμη περισσότερο κατακερματισμό ενός ήδη κατακερματισμένου πλατφόρμα.

Αυτό είναι το λάθος με τη μέθοδο χειρισμού του ήχου από το Android, σύμφωνα με το dev:

1. Το Android OS παρέχει μόνο ένα API για έλεγχο έντασης. Το πρόβλημα είναι ότι υπάρχει ανάγκη για τουλάχιστον δύο τύπους ελέγχου έντασης: συνολική ένταση εξόδου και ένταση μέσων/μουσικής. Αυτό σημαίνει ότι οι κατασκευαστές πρέπει να εφαρμόσουν τον δικό τους τρόπο ελέγχου του ήχου μέσων/μουσικής. Δυστυχώς, κάθε κατασκευαστής το κάνει διαφορετικά και δεν υπάρχει τρόπος να μάθετε πώς το έκανε μέχρι να δοκιμάσετε κάθε μεμονωμένο μοντέλο. Για να γίνουν τα πράγματα χειρότερα, η Samsung χρησιμοποίησε έναν αναποτελεσματικό τρόπο για να ελέγξει την ένταση του υλικού και των μέσων και τροφοδοτεί σκόπιμα μέρος της εξόδου υλικού στην είσοδο του μικροφώνου. Αυτό δημιουργεί ηχητικό χάος.

2. Το λειτουργικό σύστημα Android είναι συγκλονιστικά αναποτελεσματικό στην αντιμετώπιση του ήχου σε πραγματικό χρόνο. Το λειτουργικό σύστημα προσθέτει περίπου επτά δευτερόλεπτα καθυστέρηση και το υλικό προσθέτει άλλα πέντε ή έξι δευτερόλεπτα, καθιστώντας την προεπιλεγμένη καθυστέρηση 12-13 δευτερόλεπτα συνολικά. Καταφέραμε να μειώσουμε την καθυστέρηση σε πραγματικό χρόνο σε περίπου μισό δευτερόλεπτο (500ms) ή λιγότερο, το οποίο πιστεύουμε ότι είναι το καλύτερο που έχει επιτευχθεί στο Android μέχρι σήμερα. [Εκδ. Σημείωση: η έκδοση iPhone δεν περιλαμβάνει αισθητή καθυστέρηση.]

3. Εκατοντάδες μέγεθος οθόνης και αναλύσεις καθιστούν αδύνατο να έχετε ένα σύνολο γραφικών UI για όλα τα μεγέθη. [Εκδ. Σημείωση: Προφανώς, αυτή η καταγγελία δεν είναι αποκλειστική για προγραμματιστές εφαρμογών ήχου και την έχουμε ακούσει πολλές φορές στο παρελθόν.]

Το κατάλαβα? Δεδομένου ότι η Google δεν κατάφερε να έχει την προνοητικότητα σε τέσσερις εκδόσεις του Android για να εισαγάγει δύο διαφορετικά API για τον έλεγχο της έντασης - ένα για ένταση πολυμέσων, ένα για συνολικός όγκος εξόδου, - όλοι οι κατασκευαστές έχουν παρουσιάσει εκατοντάδες δικές τους τρελές εναλλακτικές λύσεις, τις οποίες κάθε προγραμματιστής που κάνει μια εφαρμογή πολυμέσων ή μουσικής πρέπει να προσπαθήσει να υποστήριξη.

Και η καθυστέρηση! Για ήχο σε πραγματικό χρόνο, το καλύτερος οι προγραμματιστές μπορούν να ελπίζουν ότι υπάρχει καθυστέρηση μισού δευτερολέπτου, και αυτό μετά από ένα τρελό και ατελείωτο ποσό βελτιστοποίησης. Μη βελτιστοποιημένο, το Android θα καθυστερήσει τον ήχο σε πραγματικό χρόνο περίπου δεκατρία δευτερόλεπτα. Έγραψα αυτήν την παράγραφο σε λιγότερο. Σε σύγκριση με το iOS, γράφει ο σχολιαστής του Evolver.fm, Adil Sherwani, και η διαφορά είναι απλώς συγκλονιστική.

Τα 500ms είναι υψηλότερα από τον αριθμό των 100ms που είχα δει πέρυσι, αλλά έτσι κι αλλιώς, 2 τάξεις μεγέθους υψηλότερες από το iOS που προσφέρει καθυστέρηση εξόδου υλικού κάτω από 3ms. Προσθέστε περίπου 10ms καθυστέρηση στην οθόνη αφής / επιταχυνσιόμετρο (πολύ πρόχειρη εκτίμηση, νομίζω ότι κανείς δεν έχει δημοσιεύσει πραγματικούς αριθμούς για αυτό), 5ms buffers ήχου (ελάχιστο μέγεθος) και 1-2 χρόνοι επεξεργασίας για την εφαρμογή σας, και μπορείτε ακόμα να παραμείνετε εντός 20 ms, ο οποίος φαίνεται να είναι ο μαγικός αριθμός για να αισθάνεστε τον ήχο σε πραγματικό χρόνο του ανθρώπου.

Το κατάλαβα? Στο Android, ο ήχος σε πραγματικό χρόνο είναι στην πραγματικότητα τουλάχιστον μισό δευτερόλεπτο στο παρελθόν. Στο iOS, όμως, παίζει στο διάστημα που αναβοσβήνει.

Απόλυτα καρύδια. Δεν είναι περίεργο που οι προγραμματιστές Android είναι τόσο απογοητευμένοι. Και αυτό είναι μόνο ένα μικροσκοπικός παράδειγμα κατακερματισμού Android. Πότε θα πραγματοποιήσει η Google τη δράση της;

Πηγή: Evolver.fm

Τελευταία δημοσίευση ιστολογίου

| Cult of Mac
September 10, 2021

httpv: //www.youtube.com/watch; v = wqr7a0ekmS8 & feature = player_embeddedΤο FaceTime είναι τώρα διαθέσιμο στις περισσότερες iOS συσκευές της ...

| Cult of Mac
September 10, 2021

Τα δίκτυα LTE της AT&T και της Verizon είναι τελικά λαιμός και λαιμόςΌταν η AT&T ξεκίνησε για πρώτη φορά το εθνικό της δίκτυο LTE στα τέλη ...

| Cult of Mac
September 10, 2021

Πώς θα χρησιμοποιήσετε το iWatch με iOS ή Χάρτες Google [Εικόνα]Του Martin Hajek’s Το συχνά εμφανιζόμενο μοντέλο iWatch ξεσκονίστηκε για άλλη μια φ...