Die Latenz ist eine wichtige Messgröße für die Systemleistung. Obwohl es viele Arten von Audiolatenzmetriken gibt, ist eine nützliche und gut verstandene Metrik die Round-Trip-Latenz , definiert als die Zeit, die ein Audiosignal benötigt, um in den Eingang eines Mobilgeräts einzudringen und von einer auf der Anwendung ausgeführten App verarbeitet zu werden Prozessor und beenden Sie die Ausgabe.
Auf dieser Seite finden Sie Round-Trip-Audiolatenzmessungen für ausgewählte Nexus-/Pixel-Geräte und Android-Plattformversionen.
Warum wir Latenz messen
Google misst und meldet die Latenz, sodass Entwickler von Android-Anwendungen über die Daten verfügen, die sie benötigen, um fundierte Entscheidungen über die verfügbare Latenz auf tatsächlichen Geräten zu treffen. Durch die Weitergabe von Latenzzahlen für ausgewählte Nexus- und Pixel-Geräte hoffen wir, die gesamte Android-Community dazu zu ermutigen, die Latenz auf allen Android-Geräten zu messen, zu veröffentlichen und zu reduzieren. Bitte unterstützen Sie uns bei unserem Engagement zur Reduzierung der Audiolatenz!
Auswirkungen der App auf die Latenz
Durch die Signalverarbeitung kann die Latenz durch folgende Verzögerungsarten erhöht werden:
- Algorithmisch . Diese Verzögerung ist inhärent und variiert nicht je nach CPU. Ein Beispiel ist die Verzögerung, die durch einen FIR-Filter ( Finite Impulse Response ) hinzugefügt wird.
- Rechnerisch . Diese Verzögerung hängt mit der Anzahl der erforderlichen CPU-Zyklen zusammen. Beispielsweise erfolgt die Dämpfung eines Signals normalerweise durch eine Multiplikationsoperation, die je nach CPU eine unterschiedliche Anzahl von Zyklen benötigt.
Wie wir messen
Wir haben die auf dieser Seite aufgeführten Messungen mit dem Audio-Loopback-Dongle von Dr. Rick O'Rang und einem Audio-Feedback-Test (Larsen-Effekt) durchgeführt. Messungen gehen davon aus, dass die Signalverarbeitung der Anwendung keine algorithmische Verzögerung und nahezu keine Rechenverzögerung hinzufügt.
Wir messen die Round-Trip-Latenz über den Headset-Anschluss aus mehreren Gründen:
- Wichtige Musikanwendungen (z. B. Gitarren- und Sprachverarbeitung) verwenden den Headset-Anschluss.
- Das Messen der Umlauflatenz des Mikrofons und des Lautsprechers im Gerät kann mühsam sein, da es schwierig ist, zu verhindern, dass eine Rückkopplungsschleife im Freien in unkontrollierte Schwingungen gerät.
- Geräteinterne Wandler sind klein und opfern den Frequenzgang, um ihre geringe Größe zu erreichen. Zum Ausgleich wird eine digitale Signalverarbeitung eingesetzt, die jedoch die algorithmische Verzögerung für den geräteinternen Pfad erhöht.
Es gibt Fälle, in denen die Mikrofon- und Lautsprecherlatenzen auf dem Gerät zwar eine Rolle spielen, diese beziehen sich jedoch in der Regel nur auf eine Richtung und nicht auf Hin- und Rückweg. Techniken zur Messung der unidirektionalen Latenz werden unter Messen der Ausgabelatenz und Messen der Eingabelatenz beschrieben.
Beispielmessungen
Die unten aufgeführten Maße gelten spezifisch für eine Build-Nummer . Die Geräte werden in der ungefähren Reihenfolge der Erstveröffentlichung und nach Plattformversion aufgelistet. Sie können Latenzen auch in einem Diagramm anzeigen . Die Testanwendung verwendet die native Android-Audio-API basierend auf OpenSL ES.
Modell | Plattform Ausführung | Bauen Nummer | Beispielrate (Hz) | Puffergröße (Rahmen) | Puffergröße (MS) | Rundfahrt Latenz (ms) ± ein Puffer |
---|---|---|---|---|---|---|
Nexus Eins | 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 |
Nexus Galaxie | 4.0.1 | ITL41D | 44100 | 976 | 22.1 | 270 |
Nexus Galaxie | 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 |