Ses gecikmesi ölçümleri

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.

Cihazdaki gidiş dönüş ses gecikmesi

Ş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:

Mikrofonlu kulaklık konnektörü üzerinden gidiş dönüş gecikmesi

Ş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