Gecikme, önemli bir sistem performansı metriğidir. Birçok ses gecikmesi metriği olsa da yararlı ve iyi anlaşılan bir metrik gidiş dönüş gecikmesidir. Bu metrik, bir ses sinyalinin mobil cihazın girişine girmesi, uygulama işlemcisinde çalışan bir uygulama tarafından işlenmesi ve çıkıştan çıkması için geçen süre olarak tanımlanır.

Şekil 1. Cihazdaki gidiş dönüş ses gecikmesi: Toutput - Tinput
Bu sayfada, belirli Nexus/Pixel cihazlar ve Android platform sürümleri için gidiş dönüş ses gecikmesi ölçümleri sağlanmaktadır.
Gecikmeyi neden ölçüyoruz?
Google, gecikmeyi ölçer ve raporlar. Böylece Android uygulama geliştiricileri, gerçek cihazlarda mevcut gecikmeyle ilgili bilinçli kararlar almak için ihtiyaç duydukları verilere sahip olur. Belirli Nexus ve Pixel cihazların gecikmesi ile ilgili sayıları paylaşarak Android topluluğunun tamamını tüm Android cihazlarda gecikmeyi ölçmeye, yayınlamaya ve azaltmaya teşvik etmeyi umuyoruz. Lütfen ses gecikmesini azaltma hedefimize ulaşmamıza yardımcı olun.
Uygulamaların gecikmeye etkisi
Sinyal işleme, gecikmeye aşağıdaki gecikme türlerini ekleyebilir:
- Algoritma. Bu gecikme doğaldır ve CPU'ya göre değişmez. Örneğin, sonlu dürtü yanıtı (FIR) filtresi tarafından eklenen gecikme.
- Hesaplama. Bu gecikme, gereken CPU döngüsü sayısıyla ilgilidir. Örneğin, bir sinyalin zayıflatılması genellikle CPU'ya bağlı olarak değişen sayıda döngü süren bir çarpma işlemiyle yapılır.
Ölçümlerimizi nasıl yapıyoruz?
Bu sayfada listelenen ölçümleri Dr. Rick O'Rang ses geri döngü dongle'ı ve ses geri bildirimi (Larsen etkisi) testi kullanarak yaptık. Ölçümler, uygulama sinyal işleme işleminin sıfır algoritmik gecikme ve sıfıra yakın hesaplama gecikmesi eklediğini varsayar.
Dönüş gecikmesini birkaç nedenden dolayı kulaklık konnektörü üzerinden ölçeriz:

Şekil 2. Kulaklık konnektörü üzerinden gidiş dönüş gecikmesi: Tçıktı - Tgiriş
- Önemli müzik uygulamaları (ör. gitar ve ses işleme), kulaklık konnektörünü kullanır.
- Açık havada geri besleme döngüsünün kontrolsüz salınımlara girmesini önlemek zor olduğundan cihaz üzerindeki mikrofon ve hoparlörün gidiş dönüş gecikmesini ölçmek zahmetli olabilir.
- Cihaz üzerindeki dönüştürücüler küçüktür ve küçük boyutlarına ulaşmak için frekans yanıtından ödün verir. Bu durumu telafi etmek için dijital sinyal işleme uygulanır ancak bu işlem, cihaz üzerinde yol için algoritmik gecikmeyi artırır.
Cihaz üzerindeki mikrofon ve hoparlör gecikmesinin önemli olduğu durumlar vardır ancak bunlar genellikle gidiş dönüş değil, tek yönlü gecikmeler olur. Tek yönlü gecikmeyi ölçme teknikleri Çıkış Gecikmesini Ölçme ve Giriş Gecikmesini Ölçme başlıklı makalelerde açıklanmıştır.
Örnek ölçümler
Aşağıda listelenen ölçümler bir derleme numarasına özeldir. Cihazlar, ilk sürümün yaklaşık sırasına ve platform sürümüne göre listelenir. Gecikmeleri grafikte de görüntüleyebilirsiniz. Test uygulaması, OpenSL ES'e dayalı Android doğal ses API'sini kullanır.
Model | Platform sürümü |
Derleme numarası |
Örnek hızı (Hz) |
Arabellek boyutu (kare) |
Arabellek boyutu (ms) |
Gidiş dönüş gecikmesi (ms) ± bir arabellek |
---|---|---|---|---|---|---|
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 |
Şekil 3. Gidiş dönüş gecikmeleri