
精密タイミング
背景と文脈
心理学研究における反応時間は、認知プロセスや行動を定量化するために使用されます。反応時間の明確な定義は、出現した刺激と反応の間に経過した時間に関係しています。
反応時間を測定するには、刺激の開始時刻と参加者の反応が発生した時刻の2つの要素があります。これはFig.1で示されています。

Fig. 1: 反応時間を測定するための2つの主要な要素。
反応時間を正確に測定するためには、刺激の開始時刻(ポイントA)と参加者の反応がいつ発生したか(ポイントB)を知っている必要があります。反応時間はこれら2つのポイントの違いです。この2つのポイントから、参加者の反応がいつ発生したかを簡単に判断できますが、刺激の正確な開始時刻(ポイントA)が正確にいつ発生したかを知るのは難しいです。
なぜポイントAが発生する時刻を確認するのが難しいのでしょうか?刺激が出現する時刻に影響を与える主な理由は3つあります。
画面リフレッシュレート: モニターのリフレッシュレートは60Hzで発生するため、何かを予定している場合、それはモニターがリフレッシュされるときのみ発生します。これはミリ秒スケールでのことですが、定量化する重要な要素です(後でリクエストアニメーションフレームでどのように測定されるかを説明します)ので、実験のシーケンスに直接影響します。
プログラミングの性質: すべての実験はコーディングに基づいており、コードを実行するには処理する必要があります。瞬時に行われることはないため、通常はリフレッシュサイクルが1-2回かかります。
デバイスの能力: これは一般的ではありませんが、参加者のデバイスの能力が非常に遅い場合、刺激の提示が遅れることがあります。これはすべてのシステムの遅延(コンピューターのフリーズなど)によるものです。この問題をチェックする方法については後で説明します(JavaScriptのイベントループ)。
要するに、反応時間は多くの要因によって影響を受け、刺激の開始と参加者の反応の間の時間を正確に特定するために技術的なプロセスが構築されています。
_Behavior Research Methods_における査読付き出版
2022年5月にSpringer Natureの Behavior Research Methodsに発表されたこの査読付き論文をチェックしてください。著者らは、Labvancedが他のウェブベースのツールと比較して最も正確な反応時間測定を持っていると結論付けています。

私たちのプロセス: Labvancedの精密タイミングのパイプライン

Fig. 2: Labvancedにおける精密タイミングと正確な反応時間をキャプチャする一般的なパイプライン。
精密タイミングと反応時間を提供するために、私たちのソフトウェアは以下のステップに従います (Fig. 2):
プリロード(キャッシュ): 実験が始まる前にすべての実験刺激があらかじめ読み込まれ、ローカルで利用可能であることを保証します。これにより、実験の進行中にロードが発生しません。したがって、参加者が研究に参加する場合、すべての刺激(画像、音声、ビデオ)はすでにサーバーから参加者のコンピューターにローカルで取得され、読み込まれています。
プリレンダリング: 実験が始まると、コンテンツは再帰的に生成され、次のフレームとトライアルがバックグラウンドで読み込まれ、参加者が次に進む準備ができ次第すぐに実行可能な状態になります。これにはプリレンダリングメカニズムが駆動しています。
参加者固有の測定: オンライン研究がブラウザで始まるため、各参加者は有限のコンピュータリソース(GPU、CPU)を持っていて、これらはパフォーマンスに影響を与えます。私たちは潜在的な遅延をキャプチャし、研究者に補正変数として提供し、除外基準としても使用できるようにします。
参加者の反応の保存
すべての実験は参加者のコンピュータ上でローカルに行われます。したがって、インターネットは実験を実行するために技術的に必須ではありません。インターネットは実験をローカルにプリロードするために最初に必要であり、その後データと反応をサーバーにアップロードするためにのみ必要です。
ただし、条件が整っていれば、私たちのソフトウェアはデータ記録および反応を各トライアルの後に自動的に保存するように設定されています。これは重要です、なぜなら:
- ローカルブラウザは無限のメモリを保持またはキャッシュできません。頻繁にバックアップを取ることで、メモリが解放され、システムの遅延のリスクが減ります。
- 参加者が停止または中断した場合、参加者のデータが終了する前に完了したトライアルや提供された反応に関して少なくともデータが保存されます。
タイムスタンプについて
実験がアクティブな間、Labvancedアプリはコンピュータ上のすべての他のプロセスや部分にアクセスできません。しかしながら、反応時間を記録するためにはタイムスタンプが必要で、アプリはコンピュータの時計からシステム時間にアクセスし、ポイントA(刺激の開始)とポイントB(参加者の反応)がいつ発生したのかを判断します。コンピュータには一般的なシステムクロックがあるため、どこで何をしているかに関係なく同じです。
システムアーキテクチャと反応時間データフローについて
上記のパイプラインは反応時間プロセスの基本的なステップを捉えていますが、以下はLabvancedで反応時間測定を正確かつ精密にするために行われているすべてのことの詳細な説明です。
プリロード(キャッシング)

Fig.3: Labvancedにおけるプリロード/キャッシングメカニズムの主なステップ。
プリロードまたはキャッシングは、実験が始まる前に発生します。Labvancedは、研究に関するすべての実験刺激が研究が始まる前にダウンロードされるように設定されています。これには、画像やビデオなどのすべての要素が含まれます。すべてがLabvancedサーバーから取得され、参加者のデバイスにローカルでダウンロードされるため、実験中にダウンロードする必要はありません (Fig. 3)。
プリレンダリングメカニズム

Fig. 4: Labvancedにおけるプリレンダリングメカニズムの主なステップ。
私たちは、実験タスク、トライアル、フレームの構造を事前に構築するためのプリレンダリングメカニズムを持っています。たとえば、タスクのトライアル#1にいる場合、現在および今後のトライアルのすべてのフレームをプリレンダリングし、実験中にロードが発生しないようにします。これには指示、テキスト、音声オブジェクト、注視クロスなどが含まれます。トライアルとフレームを事前に構築することにより、ブラウザが遅くなったり圧倒されたりするのを防ぎます (Fig. 4)。
参加者固有の測定
デバイスやコンピュータ間の固有の変動により、パフォーマンスが定義に影響を受けます。ローカルシステムで実験を実行するだけで制約があるため(つまり、速度とメモリは無限ではなく、技術的な仕様によって制約されています)、刺激が期待通りに表示されない可能性があります(たとえば、数ミリ秒の遅延があるかもしれません)。
デバイスと参加者固有の変動をキャプチャするために、以下のメカニズムを用意しています。
- リクエストアニメーションフレーム
- JavaScriptイベントループ
リクエストアニメーションフレーム

Fig. 5: Labvancedにおけるリクエストアニメーションフレームメカニズムのデモ。
モニターは60msごとに独立して更新およびリフレッシュされていますが、これはすべてのコンピュータや画面に共通のものです。刺激の提示に遅延があるかどうかを判断するために、リクエストアニメーションフレームは、時間がかかる刺激が発生するすべてのインスタンスで使用されます。
たとえば、刺激を2000msで表示するコードを実行した場合、実行しても何も起こらないでしょう。刺激は次のリフレッシュレート、つまり60ミリ秒(Hz)後の240msのマークで自動的に提示されます。この微小な遅延を測定し、事後に考慮することができます。リクエストアニメーションフレームを使用しているので、コマンドが実行された正確な時刻(実際にモニター上に現れたとき)を知ることができ、それに応じて調整できます (Fig. 5)。
JavaScriptイベントループ
Fig. 6: コンピュータの速度をLabvancedを使用して測定するためのJavaScriptイベントループ、コールバック関数のステップ。 参加者固有の測定の別の例は、デバイスの速度を決定することに関係しています。
もしあなたのコンピュータが遅い場合、それは利用可能なCPUを使用しているアクティブなシステムプロセスが実行されている可能性があります。そのため、ブラウザは利用可能な制限されたリソースで動作しており、その結果、すべてが遅くなります。
これが参加者レベルで発生しているかどうかを判断するために、私たちはコールバック関数を使用したJavaScriptイベントループを利用しています。これは自動的に(デフォルトで)バックグラウンドで実行され、関数が自分自身に戻ってくるのにかかる時間を測定します。5ms以内に戻らない場合は、参加者のブラウザ/コンピュータが遅いことを意味し、反応時間を測定する実験の結果の整合性に影響を与える可能性があります (Fig. 6)。コールバック関数が参加者に戻るのにかかるミリ秒単位の平均値を報告します。
Labvancedで完了した何千もの研究の中で、95%以上の参加者が3ms未満の報告値を持ち、時には1ms未満のこともあります。しかし、一部のケースでは、200-300msの平均値が報告され、研究者がその特定のユーザーデータを最終的なデータセット分析から除外することを検討するように促すことがあります。
Labvancedの反応時間と精密タイミング機能の主要な特徴:
参加者の反応を測定するための主な機能は次のとおりです (Fig. 7):
- 刺激提示の時間精度
- 刺激提示の空間精度
- 視線追跡精度とサンプリングレート
- 各参加者のデバイスおよび画面関連の遅延の定量化および測定。それにより標準化、被験者間の比較、および補正が可能になります。これは、前のセクションで説明したイベントループ精度およびリクエストアニメーションフレームによって実現されます。

Fig. 7: Labvancedの精密タイミング/反応時間ソリューションの主要な特徴。
Labvancedの精密タイミングの利点
これらのステップとメカニズムのおかげで、Labvancedはオンライン実験中の反応時間を測定するための正確かつ精密なソリューションを提供します。私たちのプラットフォームの利点を以下に強調します:
- 刺激のタイミングの制御: 研究者は刺激が画面に提示される正確な時刻を把握しており、調整と正確な測定が可能です。
- 強力な計算およびプログラミングメカニズム: 研究者に最も正確なデータが報告されることを保証するために、私たちは刺激が参加者の画面に出現する正確な時間を定量化するために強力な計算およびプログラミングメカニズムを使用しています。
- 試行と検証: 世界中の研究者と協力してプラットフォームを微調整してきた結果、私たちの機能は無数の研究および学術機関によって試行され、私たちのオンライン反応時間測定がその研究や公表された作品の基礎となっています。
反応時間のサンプルデータとメトリック

Fig. 8: Labvancedを使用してストループ課題を実施した参加者のセッションからのデータ報告;右から3番目の列は記録された反応時間を示しています。
Labvancedの精密タイミングでできること:
- 警戒心
- 認知機能の低下
- 知覚
- パフォーマンス指標
- 特徴認識
LVライブラリ研究:
刺激に対する反応が発生するまでの時間を測定する研究は数多くあります。ここに反応時間測定を基礎にしたタスクのいくつかの例があります。
- Nバックタスク: 作業記憶容量を測定する認知テスト。刺激が提示され、参加者はnステップ前に提示された同じ刺激を一致させるように求められます。
- ストループタスク: このクラシックなタスクは、参加者が矛盾した刺激(「黄色」と書かれているが青色になっている単語)を提示されると、反応時間が増加することを示しています。
- 顔認識: 顔認識は人間の本能に深く根ざしており、参加者が2つ以上の顔を認識したり区別したりするのにかかる時間を反応時間として測定できます。
Labvancedの精密タイミングを利用した人気の研究領域:
- 警戒心
- 認知機能の低下
- 知覚
- パフォーマンス指標
- 特徴認識
