Messungen der Audiolatenz

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.

Audio-Umlauflatenz auf dem Gerät

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:

Rundreiselatenz über Headsetanschluss

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