![]() |
Firefox web browser - Faster, more secure & customizable |
JavaScriptのタイムアウト処理「setTimeout」で処理できる最短の時間はブラウザごとに違っている。これはsetTimeoutで極端に短い時間が繰り返し使われた場合にブラウザのほかの処理に影響がでるのを避けるためのもので、主要なブラウザではだいたい10msが最短値に設定されている。Chromeではこの制限は緩く2msほどとされている。つまり、引数に0を指定しても0msとしては処理されず、10msなり2msなりで処理が実施されることになる。
しかしほかの処理はさておき、ともかく処理時間の短縮を実現したいというケースもある。そうした場合に利用できるテクニックをDavid Baron氏がDavid Baron's weblog: setTimeout with a shorter delayにおいて紹介している。これはirc.mozilla.orgに掲載されたテクニックをまとめたもので、端的にいうとsetTimeout(0)の代わりにpostMessageを使うという内容になっている。
|
|
Firefox 3.7 Alpha 2 - Demo: Using postMessage to do setTimeout with a real zero timeout実行例 |
Chrome 5 - Demo: Using postMessage to do setTimeout with a real zero timeout実行例 |
|
|
Safari 4 - Demo: Using postMessage to do setTimeout with a real zero timeout実行例 |
Opera 10.5 - Demo: Using postMessage to do setTimeout with a real zero timeout実行例 |
| postMessage[ms] | setTimeout[ms] | |
|---|---|---|
| Firefox 3.7 Alpha 2 | 4 | 969 |
| Chrome 5 | 4 | 506 |
| Safari 4 | 132 | 1145 |
| Opera 10.5 | 11 | 522 |
デモンストレーションのページが用意されており、IEを除くすべての主要ブラウザで実行できる。たしかにsetTimeoutを使う場合よりも短い時間で処理が終了していることを確認できる。
|
|
Demo: Using postMessage to do setTimeout with a real zero timeoutのコードsetTimeout処理周辺 |
Demo: Using postMessage to do setTimeout with a real zero timeoutのコードpostMessage処理周辺 |
処理速度を優先させたい場合にはこのテクニックは興味深い。ただしsetTimeoutとpostMessageはそもそも用意された目的が異なっている。この実装もこの例で意図するように動いてはいるものの、本来期待されている使われ方をされているものではないという点に留意しておく必要がある。また、ブラウザが実装を変えれば同テクニックは利用できなくなる可能性もある。同テクニックの活用を検討する場合、setTimeoutの代わりにpostMessageを使うことでブラウザの他の処理(たとえばUIの処理やマウスなどのイベント処理)がうまく処理できなくなる可能性があることを考慮しておく必要がある。
| Firefoxデベロッパプレビュー版、Flashプレーヤを強制終了しても大丈夫 [2010/3/5] |
| あなたが知らない46のFirefox新機能 [2010/2/26] |
| Firefox 4.0、ホームタブデザイン投票 [2010/2/18] |
| Firefox 3.7 Alpha 1登場 [2010/2/15] |
| Firefox 3.7ユーザインタフェース計画 [2010/2/5] |
| Firefoxのページめくりを加速させる方法 [2010/2/2] |
| Firefoxのパフォーマンスを引き上げる、GPUパワーを活用する [2010/1/27] |
| YouTubeがHTML5 Videoサポート、Firefoxはサポートしない [2010/1/25] |
| Firefox 3.7撤回は誤報!? [2010/1/22] |
| Firefox + HTML5でオフラインに対応させる3つの方法 [2010/1/19] |
| Xilinx、FPGA「Kintex-7」エンベデッド キットを発表 [18:13 5/28] |
| Freescale、64ビットマルチコアプロセッサ「QorIQ P5」ファミリを発表 [18:10 5/28] |
| パナソニック、見える化から見せる化へ、LAN対応エネルギーモニタを発表 [18:06 5/28] |
| 愛媛大、「ウルトラ赤外線銀河」は4個以上の銀河の衝突で誕生したと発表 [18:00 5/28] |
| インスリンは複数の分泌パターンで3種類の分子を選択的に制御 - 東大が解明 [17:50 5/28] |
|
日本一の1杯は?! “ガチ”ランキング「ラーメンWalkerグランプリ」結果発表 [18:30 5/28] ライフ |
|
マウス、法人BTO「MousePro」でQuadro NVS 450搭載6画面に標準対応の新機種 [18:28 5/28] パソコン |
|
和櫻工房、使えば使うほど味の出る総本革張りのUSBキーボード [18:26 5/28] パソコン |
|
ITU、超高解像度画質を「4K UHDTV」「8K UHDTV」という名称で定義 [18:24 5/28] 家電 |
|
【レースクイーン特集】参加チームほぼ全部載せ!その6【スーパーGT2012】第2戦富士500km [18:21 5/28] キャリア |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。