Update (2013/12/21): It seems possible to improve these values even more. I cant give specific values at the moment, but there still seems to be some room for improvement. More to come…
A few days ago, I got a mail from Dan Galpin as an answer to my previous blog entry
The audio latency of the new Nexus 7 (2013) is not 40ms!. He mentioned this tip:
„Also, always measure latency through the headphone jack, because it’s quite common to have to postprocess audio for the (poor-quality) speakers in devices.“
OK, time for some additional measurements. I also used this opportunity to check some possible optimizations to my apps that could improve latency. Those optimizations are not part of the official releases so far and since they implicate larger changes, they probably will not for some time. However, the measurements show what can be achieved. I also added values for an Acer A500 as example of a „third-level device“.
Let’s dive right into the numbers (all values are milliseconds):
Device Nexus 7/2012 Nexus 7/2013 Galaxy Nexus Acer A500 Android Version 4.3 4.3 4.3 4.0.3 Speaker Midi 101 98 50 246 Speaker On-Screen 133 102 67 253 Headphone Midi/No Restart 101 97 56 248 Headphone Midi/Restart 99 74 58 243 Headphone On-Screen 133 76 67 252
First, be aware that I just took the averages of 5 measurements, no scientifically rigorous measurements. Since the measurements can deviate significantly, the averages of 5 measurements can also deviate by quite some amount.
- The headphone jack makes a difference, but only for the Nexus 7/2013. There is an interesting detail here: If the headphones are plugged in while app already runs, it doesn’t make a difference. The headphones have to be plugged in before the app is started.
- The measurements confirm the three levels. However, the second level may be significantly better than I thought, at least with headphones.
- My apps can be improved. I have to work on that.
Thank you, Dan, for your mail.