26

重複の可能性:
認識可能な最短のアプリケーション応答遅延は?

少しラグが感じられるので、いくつかの JavaScript UI コードのプロファイリングを行っています。これまでのところ、いくつかのボトルネックを見つけて最適化してきましたが、これに対する測定可能な要件を定義したいと思います。

人間が遅延に気付かないためには、どのくらいの速さで応答する必要がありますか? たとえば、キーボードのキーが押されてから文字が画面に表示されるまでの検出可能な最小遅延は? 最適化をさらに進めても、人間にとって何の違いも生じないのはどの時点でしょうか?

多くのモニターのリフレッシュ レートは 60 ~ 120 Hz の範囲です。マジックナンバーは8~16ms程度ということでしょうか?

4

4 に答える 4

11

原則として、100 ミリ秒より速いものは「瞬時」と認識される傾向があることがわかりました。それよりもはるかに長くなると、遅延が確実に顕著になります。もちろん、これは人によって少し異なります。また、遅延が発生している状況によっても異なります。

この例が役に立つかもしれません: http://jsfiddle.net/QGmBy/

于 2011-07-30T03:24:07.967 に答える
11

「キーを押す」イベントと画面に表示される文字を 2 つの別個のフレームとして考えると、ユーザーが画面を見ながらキーを押した場合、ユーザーはそれを正確に見たいと思うことになります。この「直後」とは、60 Hz 以上の応答時間が必要であることを意味します。

このため、映画で見られるのと同じ効果が得られるため、実際には 8 ~ 16 ミリ秒の値を目標にする必要があります。つまり、ユーザーはそのような値の遅延を認識しません。

ただし、キーボードには独自のポーリング時間があり、必ずしもスクリプト自体に関連していない追加の遅延がその時間に干渉する可能性があることに注意する必要があります。これらの理由から、60 Hz よりも高い値を目指すと、わずかな遅延を追加する可能性のある他の影響に対して、より大きな安全マージンが得られます。

また、一部のアプリケーションでは 100 ミリ秒の遅延が目立たないように見えることもありますが、実際には 10 Hz に相当するため顕著であり、そのリフレッシュ レートで映画を再生すると、おそらく気付くでしょう。ムービーの各フレーム間のギャップ。このため、この値は十分に一般的なコンテキストで実際に考慮されるべきではありません。

人間の目の感度は、画像の条件や部分によって異なるため、注意が必要であり、これに対応するために必要に応じてリフレッシュ レートを高くすることを検討する必要があります。

このリンクには、画面の特性とその変化が人間の目によってどのように認識されるかについての詳細が記載されており、スクリプトの視覚的な影響に基づいて、特定のコンテキストでどのリフレッシュ レートを目指す必要があるかについてのアイデアが得られる場合があります。

于 2011-07-30T03:26:53.880 に答える
3

100 ミリ秒で十分速いという経験則を聞いたことがあります。リンク探してみます…

編集: 認識可能な最短のアプリケーション応答遅延は?

于 2011-07-30T03:19:23.677 に答える
2

イベントが 1 回だけ発生する場合は、100 ミリ秒が上限になります。イベントが連続的な動きの一部である場合、約 10 ~ 15 ミリ秒である必要があります。これは、スライドなどで 100 ミリ秒の遅延が発生する可能性があるためです ([1 つまたは複数の] ピクセル/時間)。互いに続く行。

また、何が遅れているのか、文脈によって多少異なります。キーを押すイベント、スライドインする何か、他のマシンで発生するリアルタイムイベント、これらすべてに異なる「許容度」レベルがあります:)

于 2011-07-30T03:34:47.143 に答える