延遲是一個重要的系統性能指標。雖然存在多種音頻延遲指標,但一種有用且易於理解的指標是往返延遲,定義為音頻信號進入移動設備輸入並由運行在應用程序上的應用程序處理所需的時間處理器,並退出輸出。
此頁面提供針對特定 Nexus/Pixel 設備和 Android 平台版本的往返音頻延遲測量。
為什麼我們測量延遲
Google 測量並報告延遲,以便 Android 應用程序開發人員獲得他們需要的數據,以便對實際設備上的可用延遲做出明智的決定。通過分享特定 Nexus 和 Pixel 設備的延遲數據,我們希望鼓勵整個 Android 社區在所有Android 設備上測量、發布和減少延遲。請加入我們的承諾,以減少音頻延遲!
應用程序對延遲的影響
信號處理可以將以下類型的延遲添加到延遲:
- 算法。這種延遲是固有的,不會隨 CPU 變化。一個例子是有限脈衝響應(FIR) 濾波器增加的延遲。
- 計算。此延遲與所需的 CPU 週期數有關。例如,信號的衰減通常通過乘法運算來完成,該運算需要不同數量的周期,具體取決於 CPU。
我們如何衡量
我們使用Dr. Rick O'Rang 音頻環回加密狗和音頻反饋(拉森效應)測試進行了本頁所列的測量。測量假設應用信號處理增加了零算法延遲和接近零的計算延遲。
我們通過耳機連接器測量往返延遲有幾個原因:
- 重要的音樂應用(如吉他和語音處理)使用耳機連接器。
- 測量設備上麥克風和揚聲器的往返延遲可能很麻煩,因為很難保持開放空氣中的反饋迴路進入不受控制的振盪。
- 設備上的換能器很小,並且會犧牲頻率響應來實現它們的小尺寸。為了進行補償,應用了數字信號處理,但增加了設備上路徑的算法延遲。
在某些情況下,設備上的麥克風和揚聲器延遲確實很重要,但它們通常是一個方向,而不是往返。測量輸出延遲和測量輸入延遲中描述了測量單向延遲的技術。
示例測量
下面列出的測量值特定於內部版本號。設備按初始發布的大致順序和平台版本列出;您還可以在圖表中查看延遲。測試應用程序使用基於 OpenSL ES 的 Android 原生音頻 API。
模型 | 平台 版本 | 建造 數字 | 採樣率 (赫茲) | 緩衝區大小 (幀) | 緩衝區大小 (小姐) | 往返 延遲(毫秒) ± 1 個緩衝器 |
---|---|---|---|---|---|---|
連結一號 | 2.3.6 | GRK39F | 44100 | 768 | 17.4 | 345 |
連結小號 | 2.3.6 | GRK39F | 44100 | 1024 | 23.2 | 260 |
連結小號 | 4.0.4 | IMM76D | 44100 | 1024 | 23.2 | 260 |
連結小號 | 4.1.2 | JZO54K | 44100 | 880 | 20 | 210 |
銀河連結 | 4.0.1 | ITL41D | 44100 | 976 | 22.1 | 270 |
銀河連結 | 4.3 | JWR66Y | 44100 | 144 | 3.3 | 130 |
連結 4 | 4.2.2 | JDQ39E | 48000 | 240 | 5 | 195 |
連結 4 | 5.1 | LMY47O | 48000 | 240 | 5 | 58 |
連結 10 | 5.0.2 | LRX22G | 44100 | 256 | 5.8 | 36 |
連結 10 | 5.1 | LMY47D | 44100 | 256 | 5.8 | 35 |
連結 7 2013 | 4.3 | JSR78D | 48000 | 240 | 5 | 149 |
連結 7 2013 | 4.4 | KRT16S | 48000 | 240 | 5 | 85 |
連結 7 2013 | 5.0.2 | LRX22G | 48000 | 240 | 5 | 64 |
連結 7 2013 | 5.1 | LMY47O | 48000 | 240 | 5 | 55 |
連結 7 2013 | 6.0 | MRA58K | 48000 | 240 | 5 | 55 |
連結 5 | 4.4.4 | KTU84P | 48000 | 240 | 5 | 95 |
連結 5 | 5.0.0 | LRX21O | 48000 | 240 | 5 | 47 |
連結 5 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |
連結 5 | 6.0 | MRA58K | 48000 | 192 | 4 | 38 |
連結 9 | 5.0.0 | LRX21L | 48000 | 256 | 5.3 | 35 |
連結 9 | 5.0.1 | LRX22C | 48000 | 256 | 5.3 | 38 |
連結 9 | 5.1.1 | LMY47X | 48000 | 256 | 5.3 | 32 |
連結 9 | 6.0 | MRA58K | 48000 | 128 | 2.6 | 15 |
連結 6 | 5.0.1 | LRX22C | 48000 | 240 | 5 | 65 |
連結 6 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |
連結 6 | 6.0 | MRA58K | 48000 | 192 | 4 | 33 |
連結 5X | 6.0 | MDA89E | 48000 | 192 | 4 | 18 |
連結 5X | 8.0.0 | OPR4.170623.020 | 48000 | 192 | 4 | 18 |
連結 5X | 8.1.0 | OPM2.171019.029.C1 | 48000 | 192 | 4 | 18 |
連結 6P | 6.0 | MDA89D | 48000 | 192 | 4 | 18 |
連結 6P | 8.0.0 | OPR5.170623.014 | 48000 | 192 | 4 | 18 |
連結 6P | 8.1.0 | OPM5.171019.019 | 48000 | 192 | 4 | 18 |
像素 | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
像素 | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
像素 | 8.1.0 | OPM1.171019.021 | 48000 | 192 | 4 | 18 |
像素 XL | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
像素 XL | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |