Latensi adalah metrik performa sistem yang penting. Meskipun ada banyak jenis metrik latensi audio, salah satu metrik yang berguna dan dipahami dengan baik adalah latensi bolak-balik, yang didefinisikan sebagai waktu yang diperlukan sinyal audio untuk memasuki input perangkat seluler, diproses oleh aplikasi yang berjalan di prosesor aplikasi, dan keluar dari output.

Gambar 1. Latensi audio bolak-balik di perangkat: Toutput - Tinput
Halaman ini memberikan pengukuran latensi audio bolak-balik untuk perangkat Nexus/Pixel tertentu dan versi platform Android.
Alasan kami mengukur latensi
Google mengukur dan melaporkan latensi sehingga developer aplikasi Android memiliki data yang mereka perlukan untuk membuat keputusan yang tepat tentang latensi yang tersedia di perangkat yang sebenarnya. Dengan membagikan angka latensi untuk perangkat Nexus dan Pixel tertentu, kami berharap dapat mendorong seluruh komunitas Android untuk mengukur, memublikasikan, dan mengurangi latensi di semua perangkat Android. Bergabunglah dengan kami dalam komitmen kami untuk mengurangi latensi audio.
Dampak aplikasi terhadap latensi
Pemrosesan sinyal dapat menambahkan jenis penundaan berikut ke latensi:
- Algoritmis. Penundaan ini bersifat melekat dan tidak bervariasi dengan CPU. Contohnya adalah penundaan yang ditambahkan oleh filter finite impulse response (FIR).
- Komputasi. Penundaan ini terkait dengan jumlah siklus CPU yang diperlukan. Misalnya, atenuasi sinyal biasanya dilakukan oleh operasi perkalian yang memerlukan jumlah siklus yang bervariasi, bergantung pada CPU.
Cara kami mengukur
Kami melakukan pengukuran yang tercantum di halaman ini menggunakan dongle loopback audio Dr. Rick O'Rang dan pengujian masukan audio (efek Larsen). Pengukuran mengasumsikan bahwa pemrosesan sinyal aplikasi menambahkan latensi algoritma nol dan latensi komputasi mendekati nol.
Kami mengukur latensi bolak-balik melalui konektor headset karena beberapa alasan:

Gambar 2. Latensi bolak-balik melalui konektor headset: Toutput - Tinput
- Aplikasi musik penting (seperti pemrosesan gitar dan suara) menggunakan konektor headset.
- Mengukur latensi bolak-balik mikrofon dan speaker di perangkat dapat merepotkan, karena sulit untuk menjaga loop masukan di udara terbuka agar tidak masuk ke dalam osilasi yang tidak terkontrol.
- Transduser di perangkat berukuran kecil dan mengorbankan respons frekuensi untuk mencapai ukuran kecilnya. Untuk mengimbanginya, pemrosesan sinyal digital diterapkan, tetapi meningkatkan penundaan algoritme untuk jalur di perangkat.
Ada kasus saat latensi mikrofon dan speaker di perangkat berpengaruh, tetapi biasanya untuk satu arah, bukan bolak-balik. Teknik untuk mengukur latensi searah dijelaskan di Mengukur Latensi Output dan Mengukur Latensi Input.
Contoh pengukuran
Pengukuran yang tercantum di bawah ini khusus untuk nomor build. Perangkat dicantumkan dalam urutan perkiraan rilis awal dan menurut versi platform; Anda juga dapat melihat latensi dalam diagram. Aplikasi pengujian menggunakan API audio native Android berdasarkan OpenSL ES.
Model | Versi platform |
Nomor build |
Frekuensi sampel (Hz) |
Ukuran buffer (frame) |
Ukuran buffer (ms) |
Latensi bolak-balik (md) ± satu buffering |
---|---|---|---|---|---|---|
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 |
Gambar 3. Latensi bolak-balik