Latensi adalah metrik kinerja 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 memasukkan input perangkat seluler, diproses oleh aplikasi yang berjalan di aplikasi tersebut. prosesor, dan keluar dari output.
Halaman ini menyediakan pengukuran latensi audio bolak-balik untuk perangkat Nexus/Pixel tertentu dan versi platform Android.
Mengapa kami mengukur latensi
Google mengukur dan melaporkan latensi sehingga pengembang aplikasi Android memiliki data yang mereka perlukan untuk mengambil keputusan yang tepat mengenai latensi yang tersedia di perangkat 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. Silakan bergabung dengan kami dalam komitmen kami untuk mengurangi latensi audio!
Dampak aplikasi pada latensi
Pemrosesan sinyal dapat menambahkan jenis penundaan berikut ke latensi:
- Algoritma . Penundaan ini melekat dan tidak berbeda-beda pada CPU. Contohnya adalah penundaan yang ditambahkan oleh filter respon impuls terbatas (FIR).
- Komputasi . Penundaan ini terkait dengan jumlah siklus CPU yang dibutuhkan. Misalnya, pelemahan sinyal biasanya dilakukan dengan operasi perkalian yang memerlukan jumlah siklus yang bervariasi tergantung pada CPU.
Bagaimana kita mengukur
Kami melakukan pengukuran yang tercantum di halaman ini menggunakan dongle loopback audio Dr. Rick O'Rang dan tes umpan balik audio (efek Larsen) . Pengukuran mengasumsikan pemrosesan sinyal aplikasi menambahkan penundaan algoritmik nol dan penundaan komputasi mendekati nol.
Kami mengukur latensi bolak-balik melalui konektor headset karena beberapa alasan:
- Aplikasi musik penting (seperti gitar dan pemrosesan suara) menggunakan konektor headset.
- Mengukur latensi bolak-balik mikrofon dan speaker pada perangkat dapat menjadi rumit, karena sulit untuk menjaga loop umpan balik di udara terbuka agar tidak memasuki osilasi yang tidak terkendali.
- Transduser pada perangkat berukuran kecil dan mengorbankan respons frekuensi untuk mencapai ukurannya yang kecil. Sebagai kompensasinya, pemrosesan sinyal digital diterapkan tetapi meningkatkan penundaan algoritmik untuk jalur pada perangkat.
Ada kalanya latensi mikrofon dan speaker pada perangkat memang penting, namun biasanya latensi tersebut berlaku untuk satu arah, bukan bolak-balik. Teknik untuk mengukur latensi searah dijelaskan di Mengukur Latensi Keluaran dan Mengukur Latensi Masukan .
Contoh pengukuran
Pengukuran yang tercantum di bawah ini khusus untuk nomor build . Perangkat dicantumkan berdasarkan perkiraan urutan rilis awal dan berdasarkan versi platform; Anda juga dapat melihat latensi dalam bagan . Aplikasi pengujian menggunakan API audio asli Android berbasis OpenSL ES.
Model | Platform Versi: kapan | Membangun nomor | Tingkat sampel (Hz) | Ukuran buffer (bingkai) | Ukuran buffer (MS) | Perjalanan pulang pergi latensi (ms) ± satu penyangga |
---|---|---|---|---|---|---|
Nexus Satu | 2.3.6 | GRK39F | 44100 | 768 | 17.4 | 345 |
Perhubungan S | 2.3.6 | GRK39F | 44100 | 1024 | 23.2 | 260 |
Perhubungan S | 4.0.4 | IMM76D | 44100 | 1024 | 23.2 | 260 |
Perhubungan S | 4.1.2 | JZO54K | 44100 | 880 | 20 | 210 |
Galaksi Perhubungan | 4.0.1 | ITL41D | 44100 | 976 | 22.1 | 270 |
Galaksi Perhubungan | 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 |
Perhubungan 10 | 5.0.2 | LRX22G | 44100 | 256 | 5.8 | 36 |
Perhubungan 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 |
Perhubungan 9 | 5.0.0 | LRX21L | 48000 | 256 | 5.3 | 35 |
Perhubungan 9 | 5.0.1 | LRX22C | 48000 | 256 | 5.3 | 38 |
Perhubungan 9 | 5.1.1 | LMY47X | 48000 | 256 | 5.3 | 32 |
Perhubungan 9 | 6.0 | MRA58K | 48000 | 128 | 2.6 | 15 |
Perhubungan 6 | 5.0.1 | LRX22C | 48000 | 240 | 5 | 65 |
Perhubungan 6 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |
Perhubungan 6 | 6.0 | MRA58K | 48000 | 192 | 4 | 33 |
Perhubungan 5X | 6.0 | MDA89E | 48000 | 192 | 4 | 18 |
Perhubungan 5X | 8.0.0 | OPR4.170623.020 | 48000 | 192 | 4 | 18 |
Perhubungan 5X | 8.1.0 | OPM2.171019.029.C1 | 48000 | 192 | 4 | 18 |
Perhubungan 6P | 6.0 | MDA89D | 48000 | 192 | 4 | 18 |
Perhubungan 6P | 8.0.0 | OPR5.170623.014 | 48000 | 192 | 4 | 18 |
Perhubungan 6P | 8.1.0 | OPM5.171019.019 | 48000 | 192 | 4 | 18 |
Piksel | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
Piksel | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
Piksel | 8.1.0 | OPM1.171019.021 | 48000 | 192 | 4 | 18 |
Piksel XL | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
Piksel XL | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |