[この記事は Mark Koudritsky、ソフトウェア エンジニアによる Android Developers Blog の記事 "A new method to measure touch and audio latency" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

タップとオーディオの遅延を計測し、それを最小限にとどめようという Android や ChromeOS チームの戦いに新兵器が登場します。それが WALT Latency Timer です。

モバイル端末を使用するときは、タップや音声に即座に応答があるのが当然だと思うでしょう。応答が早ければ早いほど、端末と直接つながっているように感じるはずです。ここ数年間、私たちは Chromebook や Android 製品で発生する遅延を計測し、その詳細を理解して短縮しようとする努力を重ねてきました。

遅延を短縮するには、まず遅延がどこで発生しているのかを理解する必要があります。タッチスクリーンをタップする場合、応答時間に含まれるのは、タッチを検知するハードウェアとドライバー、アプリケーション、ディスプレイ、グラフィック出力などの処理時間です。音声コマンドの場合は、入力されたオーディオのサンプリング、アプリケーション、オーディオ出力の処理時間が必要です。こういった処理時間の両方が混在する場合もあります(たとえば、ピアノアプリにはタップ入力とオーディオ出力が含まれます)。

今までの遅延の分析方法は、1 往復分の遅延時間に着目し、それを計測しようとするものがほとんどでした。たとえば、オーディオの遅延を計測するには、アプリからスピーカーやマイクまでの時間と、そこからアプリに戻ってくるまでの時間を計測していました。それには Dr. Rick O'Rang ループバック オーディオ ドングルが必要で、これと Dr Rick O’Rang Loopback アプリSuperpowered Mobile Audio Latency Test App などの適切なアプリを組み合わせて使用します。同様に、TouchBot は高速なカメラを使用し、物理的にタップされてからスクリーンの表示が変化するまでの往復の遅延時間を計測しています。このような計測方法は有用であるものの、遅延を入力コンポーネントと出力コンポーネントに分けて内訳を確認することが難しいという問題点もあります。

QuickStep の後継である WALT には、外部ハードウェアのクロックと Android 端末や Chromebook をミリ秒以内の精度で同期させるという重要な技術革新が取り入れられています。これによって、往復の遅延を計測するのではなく、入力と出力の遅延を別々に計測することができるようになっています。

WALT はシンプルです。パーツの価格は 50 ドル未満で、趣味レベルの基礎的な電子工作のスキルがあれば、自作することができます。

Google の内部でも、Nexus や Chromebook の開発に WALT が使われています。私たちは、アプリ開発者など、現実世界の遅延を厳密に計測したい方のために、このツールを公開することにいたしました。簡単にアクセスできるツールを提供することによって、業界全体のあらゆるデバイスでタップや音声への応答性の向上に貢献できることを願っています。

Posted by Eiji Kitamura - Developer Relations Team