3

Nicholas C. Zakas 著「High Performance JavaScript」の第 6 章「Responsive Interfaces」では、Timer Precision について次のように述べています。

Windows システムのタイマーの分解能は 15 ミリ秒です。つまり、システム時間が最後に更新された時期に応じて、15 のタイマー遅延が 0 または 15 として解釈されます。タイマー遅延を 15 未満に設定すると、Internet Explorer でブラウザーがロックされる可能性があるため、少なくとも 15 ミリ秒の遅延を確保するために推奨される最小遅延は 25 ミリ秒 (最終的には 15 または 30 ミリ秒) です。

ここでの「ブラウザのロック」とはどういう意味ですか? これは、タスクを UI スレッド キューの最後に移動するために広く使用されているアプローチsetTimeout(task, 0)によって IE がハングする可能性があるということですか?

4

2 に答える 2

3

setTimeout はタスクを 1 回実行しますが、これがロックアップを引き起こすとは思いません。

あなたの本のスニペットの私の解釈は、彼がsetIntervalなどの繰り返し実行について言及しているということです。コードを 0 ミリ秒ごとに実行するように設定すると、IE で問題が発生することがわかります。

于 2012-10-11T16:24:51.557 に答える
0

私はそれを使用していますが、問題は発生していません。これにより、ブラウザはレンダリング スレッドにタイム スロットを使用できるようになり、場合によっては非常に便利です。

于 2012-10-11T16:18:57.407 に答える