5

私はドット プローブ タスク (画像が消えた後、人々はドットにすばやく反応する必要があります) を作成しています。オンライン療法研究で使用するために、反応時間を測定し、事前に定義された間隔で刺激を表示する必要があります。

私たちはすでに Javascript を使用することを決定しており、IE などを除外するなど、ユーザーにいくつかの制約を課しても構わないと思っています。ただし、Windows を完全に禁止することはできません。

このトピックに関するJohn Resig の投稿を読みましたが、これによると、Firefox と Chrome を除く Windows 上のすべてのブラウザーを禁止する必要があります。

さらに、この回答console.time();では、FF と Chrome のベスト プラクティスとして使用することをお勧めします。

Resig の投稿が 4 年前のものであり、上記の質問が関数の実行時間の測定に関するものであること (つまり、タイマーをゆがめるコードの実行は良いことであり、私たちの場合のように悪いことではないことを意味します) であることを考慮して、いくつかのフォローアップの質問があります。反応時間の研究について。

次の同様の質問では、「最高の Web 言語」を尋ねたところ、JS を使用するという包括的な推奨事項しか得られませんでした (公開されたいくつかの研究ではこれが行われましたが、技術的な詳細は公開されていません)。

  1. 利用可能な場合のより良い精度をどうにかして使用することはconsole.time()できますか? コンソールに返されるだけなので、そうではないと思います。つまり、変数にキャプチャすることはできません。
  2. 過去 4 年間でタイミング精度に大きな変化はありましたか? 多くの理由で IE を禁止することに抵抗はありませんが、Windows の Safari と Opera では事情が変わったのでしょうか?
  3. 実行プロセスに関連する 2 番目の方法を使用して、比較/相互検証のために別の時間セットを取得する必要がありますか?
4

2 に答える 2

4

免責事項 - 私は以前、大学の研究部門のためにこのようなソフトウェアを作成していました。

performance.now()(または、ブラウザのバージョンによっては ) を使用performance.webkitNow()して、 よりも正確なタイムスタンプを取得できますDate.now()詳しくはこちらをご覧ください。

ただし、考慮すべき問題の 1 つは、画面の更新です。リフレッシュ レートが 60 Hz であると仮定すると、次の条件に応じて、画像が実際に画面に表示されるタイミングに 16 ミリ秒の差異が生じる可能性があります。

  1. ソフトウェアが画面のリフレッシュ レートに同期されているかどうか (JS、AFAIK では不可能)、および
  2. ここで、画像とドット プローブは画面の上部を基準にしています。画面の上部に描画されたピクセルは、その下にあるピクセルの前に描画されます。

また、キーボードのスキャン間隔などによる影響も考慮する必要があります。あるプロジェクトで、研究者は (記憶によれば、これは 20 年前のことです) 約 30 ミリ秒の倍数である期間の周りに重要なグループを発見しました。テストに使用されます。

この場合、私は PIC マイクロコントローラを使用してハードウェア「ボタン ボックス」を構築することで問題を解決しました。これは、シリアル バイトを 9600 bps でスキャン レイテンシなしで送信でき、2 ミリ秒未満でボックスから PDA にキーを押すことができます。

画面のリフレッシュに関する問題について論文を書くことを考えていました。それから私は本当の仕事を得ました;-) 他の誰かがそれを研究したかどうかはわかりません.

于 2012-12-20T13:38:16.597 に答える
3

最近、Stian Reimers と Neil Stewart からこのトピックに関する良い記事がありました。

Adobe Flash および HTML5/JavaScript Web 実験でのプレゼンテーションと応答タイミングの精度 http://www.ncbi.nlm.nih.gov/pubmed/24903687

于 2014-10-29T11:27:48.100 に答える