-3
  1. すべてのブラウザーは (実験によると) 約 20 ヘルツ (つまり、1 秒あたり約 20 回画面を更新)、つまり 50 ミリ秒ごとに画面に html をレンダリングするようです。

  2. 研究/実験と一般的な観察により、人間は約 10 ヘルツ (1 秒あたり 10 回) で「物事を決定」します。たとえば、1 秒間に 10 個の異なる顔を作成してみてください。 FOREXの購入または売却ボタンをクリックします)。

  3. 人間は 10 ヘルツ (100 ミリ秒) よりもはるかに速く反応することはできません。つまり、私たちは 100 ミリ秒の存在です。

  4. しかし、人間は 10 ~ 50 ヘルツで不快な「ちらつき」があることを検出できます。

  5. したがって、ブラウザの「画面のリフレッシュ」レートは、イベントに反応するには約 20 ヘルツで問題ありませんが、刺激的な HTML 要素の「動きのちらつき」を検出する人間にとっては問題ありません。

  6. しかし問題は、Javascript を使用して約 20 ミリ秒間隔よりも速くテキストを移動すると、スムーズな動きが得られないことです >> (つまり、画像は依然としてブラウザのレンダリング レートでちらつきます)。 inferix.com - 必要に応じてその動きを生成する JavaScript を見てください。

  7. そのため、現在のブラウザを使用して「スムーズ TV スタイル」のちらつきのない動きを実現する方法はありません。ただし、ブラウザのリフレッシュ レートを制御し、(より多くの CPU パワーを使用して) 高速に設定できる場合を除きます。

  8. Firefox または Chrome の誰もが、「ブラウザー HTML/JavaScript」(またはユーザー) がより高い画面リフレッシュ/レンダリング レートを設定できるようにする計画があるかどうかを知っていますか?「BBC NEWS TV STYLE」グラフィックスがブラウザーで可能であると言う>> それまでは、ブラウザの使用体験は退屈で「幼稚」であり、TV スタイルの滑らかさと機能には決して及ばないからです。 「デファクト ヒューマン I/O スタンダード」は、I/O の一部の独自ブランド (別名 MS/Google/IBM/Apple) によって失われ、これまで以上に支配的になり、クローズド スタンダードおよびプロトコルとしてヒューマン I/O を支配します。 -だから私たちは皆、スアレワンに戻ってきます!

ブラウザを修正できますか:

おそらく修正はすでに存在しますが、隠されていますか?

ブラウザ開発の専門家:

JAVASCRIPT または HTML からブラウザーのレンダリング レートを向上させるにはどうすればよいですか? または、代わりに (CPU が許可する場合)、ブラウザーのレンダリングを現在のレート (約 20 ヘルツ) よりも大幅に高速化できますか?

最後に 1 つの考え:

私たち人間は 10 ヘルツの意思決定者であり、20 ヘルツの視覚運動検出器です >> しかし >> 「HTML/JAVASCRIPS/DOM」が AI-HUMAN の分野を支配するためにまったく同じ情報 (すなわち、利点は、人間と AI によっても読み取り可能であることです)、レンダリング レートは数百倍、場合によっては数千倍も速くなる必要があります (AI-AI の使用の場合)。ただし、これはまだまったく必要ではありません。 - しかし、わずか10年でおそらくそうです!

真剣な回答ありがとうございます.....

A.基本的な「JavaScript/HTML/Browser」対応のみでお願いします。

B.「他の言語または他のプログラム」の回答はありません。

4

1 に答える 1

2

どこが間違っているのかを確認するためのコード例が質問にsetTimeout()ないので、アニメーションを行うために使用していると推測するしかありません。(とにかくそのように聞こえます。あなたが言及したサイトをざっと見てみるsetTimeoutと、コード内にかなりの数の呼び出しがあることがわかります)

setTimeout()最小タイムアウト時間が 4 ミリ秒に「固定」されているため、これは問題です。これは、ランナウェイ スクリプトによってブラウザが使用できなくなるのを防ぐための API の意図的な機能ですが、setTimeout()アニメーションに使用するのにはあまり適していません。

幸いなことに、アニメーション用に明示的に設計された代替 API があります。の代わりにsetTimeout()、 を使用する必要がありますrequestAnimationFrame()

requestAnimationFrame()次の利用可能な画面更新時にトリガーされます (1 秒あたり最大 60 回ですが、コンピューターの負荷が高い場合や、アニメーション スクリプトが複雑すぎて 1 回の更新サイクルで完了できない場合は遅くなる可能性があります)。

これよりも頻繁に JavaScript イベントを発生させるためのオプションは他にもあります (詳細については、この回答を参照してください) requestAnimationFrame()。そのために設計されています。

于 2014-01-31T14:10:17.083 に答える