延迟 是一个重要的系统性能指标。 虽然存在多种音频延迟指标,但一个有用且易于理解的指标是往返延迟,其定义为音频信号进入移动设备输入、由应用程序处理器上运行的应用处理并从输出退出的时间。

图 1. 设备上的往返音频延迟:Toutput - Tinput
本页提供了部分 Nexus/Pixel 设备和 Android 平台版本的往返音频延迟测量结果。
为什么我们要测量延迟
Google 测量并报告延迟,以便 Android 应用程序开发者拥有所需的数据,从而就实际设备上的可用延迟做出明智的决策。 通过分享部分 Nexus 和 Pixel 设备的延迟数据,我们希望鼓励整个 Android 社区测量、发布和减少 *所有* Android 设备上的延迟。 请加入我们,共同致力于减少音频延迟!
应用对延迟的影响
信号处理可能会给延迟增加以下类型的延迟
- 算法延迟。 此延迟是固有的,不随 CPU 变化。 例如,有限脉冲响应 (FIR) 滤波器会增加延迟。
- 计算延迟。 此延迟与所需的 CPU 周期数有关。 例如,信号衰减通常通过乘法运算完成,该运算所需的周期数取决于 CPU。
我们如何测量
我们使用 Dr. Rick O'Rang 音频环回适配器和音频反馈(Larsen 效应)测试进行了本页列出的测量。 测量假设应用程序信号处理增加的算法延迟为零,计算延迟接近于零。
我们出于以下几个原因通过耳机接口测量往返延迟

图 2. 通过耳机接口的往返延迟:Toutput - Tinput
- 重要的音乐应用(如吉他和语音处理)使用耳机接口。
- 测量设备上麦克风和扬声器的往返延迟可能很麻烦,因为很难防止露天环境中的反馈环路进入不受控制的振荡。
- 设备上传感器体积小巧,为了实现小尺寸而牺牲了频率响应。 为了补偿,应用了数字信号处理,但这会增加设备上路径的算法延迟。
在某些情况下,设备上麦克风和扬声器的延迟确实很重要,但它们通常是单向的,而不是往返的。 测量输出延迟和测量输入延迟介绍了测量单向延迟的技术。
示例测量
下面列出的测量结果特定于版本号。 设备按初始发布的大致顺序和平台版本列出;您也可以在图表中查看延迟。 测试应用程序使用基于 OpenSL ES 的 Android 原生音频 API。
型号 | 平台 版本 |
构建 编号 |
采样率 (Hz) |
缓冲区大小 (帧) |
缓冲区大小 (ms) |
往返 延迟 (ms) ± 一个缓冲区 |
---|---|---|---|---|---|---|
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 |
图 3. 往返延迟