Die Latenz ist ein wichtiger Messwert für die Systemleistung. Es gibt viele Arten von Audiolatenz-Messwerten. Ein nützlicher und gut verstandener Messwert ist die Gesamtlaufzeit, die Zeit, die ein Audiosignal benötigt, um die Eingabe eines Mobilgeräts zu erreichen, von einer App auf dem Anwendungsprozessor verarbeitet zu werden und die Ausgabe zu verlassen.

Abbildung 1: Audio-Roundtrip-Latenz auf dem Gerät: TAusgabe – TEingabe
Auf dieser Seite finden Sie Messungen der Audio-Rücklauflatenz für ausgewählte Nexus-/Pixel-Geräte und Android-Plattformversionen.
Warum wir die Latenz messen
Google misst und meldet die Latenz, damit Android-Anwendungsentwickler fundierte Entscheidungen über die verfügbare Latenz auf tatsächlichen Geräten treffen können. Wir hoffen, dass wir die gesamte Android-Community dazu anregen, die Latenz auf allen Android-Geräten zu messen, zu veröffentlichen und zu reduzieren, indem wir Latenzzahlen für ausgewählte Nexus- und Pixel-Geräte veröffentlichen. Wir arbeiten daran, die Audiolatenz zu reduzieren.
Auswirkungen von Apps auf die Latenz
Die Signalverarbeitung kann die Latenz um die folgenden Arten von Verzögerungen verlängern:
- Algorithmisch Diese Verzögerung ist unvermeidlich und variiert nicht mit der CPU. Ein Beispiel ist die Verzögerung, die durch einen FIR-Filter (Finite Impulse Response) hinzugefügt wird.
- Rechnergestützt. Diese Verzögerung hängt von der Anzahl der erforderlichen CPU-Zyklen ab. Die Dämpfung eines Signals erfolgt beispielsweise in der Regel durch eine Multiplikation, die je nach CPU eine unterschiedliche Anzahl von Zyklen in Anspruch nimmt.
So messen wir
Die auf dieser Seite aufgeführten Messungen wurden mit dem Audio-Loopback-Dongle von Dr. Rick O'Rang und einem Audio-Feedback-Test (Larsen-Effekt) durchgeführt. Bei den Messungen wird davon ausgegangen, dass die Signalverarbeitung der Anwendung keine algorithmische Verzögerung und eine nahezu nullwertige Rechenverzögerung verursacht.
Wir messen die Round-Trip-Latenz über den Headset-Anschluss aus mehreren Gründen:

Abbildung 2: Rundreiselatenz über Headset-Anschluss: TAusgang – TEingang
- Wichtige Musikanwendungen wie Gitarren- und Sprachverarbeitung nutzen den Headsetanschluss.
- Die Messung der Rücklauflatenz des Mikrofons und Lautsprechers auf dem Gerät kann mühsam sein, da es schwierig ist, zu verhindern, dass eine Rückkopplungsschleife im Freien zu einer unkontrollierten Oszillation führt.
- Auf dem Gerät befindliche Wandler sind klein und haben eine geringere Frequenzwiedergabe, um diese Größe zu erreichen. Zur Kompensation wird die digitale Signalverarbeitung angewendet, was jedoch die algorithmische Verzögerung für den On-Device-Pfad erhöht.
Es gibt Fälle, in denen die Mikrofon- und Lautsprecherlatenz auf dem Gerät wichtig ist, aber in der Regel nur in eine Richtung, nicht für die gesamte Übertragung. Methoden zum Messen der unidirektionalen Latenz werden unter Ausgabelatenz messen und Eingabelatenz messen beschrieben.
Beispielmessungen
Die unten aufgeführten Messwerte beziehen sich auf eine Build-Nummer. Die Geräte werden in ungefährer Reihenfolge der Erstveröffentlichung und nach Plattformversion aufgeführt. Sie können sich auch Latenzen in einem Diagramm ansehen. Die Testanwendung verwendet die native Android-Audio-API, die auf OpenSL ES basiert.
Modell | Plattform version |
Build -Nummer |
Abtastrate (Hz) |
Puffergröße (Frames) |
Puffergröße (ms) |
Umlaufzeit (ms) ± ein Puffer |
---|---|---|---|---|---|---|
Nexus One | 2.3.6 | GRK39F | 44100 | 768 | 17,4 | 345 |
Nexus S | 2.3.6 | GRK39F | 44100 | 1024 | 23.2 | 260 |
Nexus S | 4.0.4 | IMM76D | 44100 | 1024 | 23.2 | 260 |
Nexus S | 4.1.2 | JZO54K | 44100 | 880 | 20 | 210 |
Galaxy Nexus | 4.0.1 | ITL41D | 44100 | 976 | 22.1 | 270 |
Galaxy Nexus | 4.3 | JWR66Y | 44100 | 144 | 3.3 | 130 |
Nexus 4 | 4.2.2 | JDQ39E | 48000 | 240 | 5 | 195 |
Nexus 4 | 5.1 | LMY47O | 48000 | 240 | 5 | 58 |
Nexus 10 | 5.0.2 | LRX22G | 44100 | 256 | 5.8 | 36 |
Nexus 10 | 5.1 | LMY47D | 44100 | 256 | 5.8 | 35 |
Nexus 7 2013 |
4.3 | JSR78D | 48000 | 240 | 5 | 149 |
Nexus 7 2013 |
4.4 | KRT16S | 48000 | 240 | 5 | 85 |
Nexus 7 2013 |
5.0.2 | LRX22G | 48000 | 240 | 5 | 64 |
Nexus 7 2013 |
5.1 | LMY47O | 48000 | 240 | 5 | 55 |
Nexus 7 2013 |
6.0 | MRA58K | 48000 | 240 | 5 | 55 |
Nexus 5 | 4.4.4 | KTU84P | 48000 | 240 | 5 | 95 |
Nexus 5 | 5.0.0 | LRX21O | 48000 | 240 | 5 | 47 |
Nexus 5 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |
Nexus 5 | 6.0 | MRA58K | 48000 | 192 | 4 | 38 |
Nexus 9 | 5.0.0 | LRX21L | 48000 | 256 | 5.3 | 35 |
Nexus 9 | 5.0.1 | LRX22C | 48000 | 256 | 5.3 | 38 |
Nexus 9 | 5.1.1 | LMY47X | 48000 | 256 | 5.3 | 32 |
Nexus 9 | 6.0 | MRA58K | 48000 | 128 | 2.6 | 15 |
Nexus 6 | 5.0.1 | LRX22C | 48000 | 240 | 5 | 65 |
Nexus 6 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |
Nexus 6 | 6.0 | MRA58K | 48000 | 192 | 4 | 33 |
Nexus 5X | 6.0 | MDA89E | 48000 | 192 | 4 | 18 |
Nexus 5X | 8.0.0 | OPR4.170623.020 | 48000 | 192 | 4 | 18 |
Nexus 5X | 8.1.0 | OPM2.171019.029.C1 | 48000 | 192 | 4 | 18 |
Nexus 6P | 6.0 | MDA89D | 48000 | 192 | 4 | 18 |
Nexus 6P | 8.0.0 | OPR5.170623.014 | 48000 | 192 | 4 | 18 |
Nexus 6P | 8.1.0 | OPM5.171019.019 | 48000 | 192 | 4 | 18 |
Pixel | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
Pixel | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
Pixel | 8.1.0 | OPM1.171019.021 | 48000 | 192 | 4 | 18 |
Pixel XL | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
Pixel XL | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
Abbildung 3: Umlauflatenzen