Firefox web browser - Faster, more secure & customizable |
LinuxLinksにおいてFirefox Tipsのタイトルのもと、Firefoxの高速化を実施するためのテクニックが紹介されている。設定をすることでFirefoxの性能を引き上げ、Google Chromeのように開発ペースの早いブラウザにも対応できると冒頭に説明がある。なお、紹介されているテクニックを試す前に、prefs.jsファイルに保存されている設定のバックアップをとることが推奨されている。紹介されているテクニックは次のとおり。
BleachBitを使う
BleachBitをインストールして使う。BleachBitはキャッシュ、履歴データ、一時ファイル、不要な使われていないローカルファイル、ログ、クッキーなどのデータを削除するツール。Windows版とLinux版が提供されており、FirefoxのみならずAdobe Reader、Flash、Google Chrome、IE、Safari、Java、OpenOffice.org、Windows Media Playerなど50ほどのアプリケーションに関するデータのクリーンナップが可能。
なお、キャッシュやクッキー、履歴データなどの削除することは起動や操作が高速になる半面、レンダリングや利用の面で不便になることに注意する必要がある。
ページレンダリング高速化
「content.notify.backoffcount」を整数で新規作成して「5」を設定、「nglayout.initialpaint.delay」を整数で新規作成して「0」を設定する。最初の設定はすべてのページをダウンロードし終わる前にレンダリングを開始する指定、後者はページレイアウト情報をすべてダウンロードする前にレンダリングを開始する指定となる。
設定はアドレスバーに「about:config」と入力しておこなう。この2つの項目は新規作成する必要があるため、右クリックから整数として新規作成し、名前と値を入力する。この設定はFirefoxを再起動したあとで有効になる。
履歴制限を実施する
履歴の最大保持日数を示す「browser.history_expire_days (デフォルト180)」、履歴の最小保持日数を示す「browser.history_expire_days_min (デフォルト90)」、履歴のサイト数最大数を示す「browser.history_expire_sites (デフォルト40000)」の値を削減する。
メニューを高速化する
「ui.submenuDelay」を整数で新規作成して「0」を設定する。メニューをポップアップするまでの待ち時間がなくなる。この設定はFirefoxを再起動したあとで有効になる。
IPv6対応機能を無効にする
IPv6を使う必要がなければ「network.dns.disableIPv6」の値を「true」に変更して機能を無効にする。
ローカルメモリキャッシュを増加させる
Firefoxは展開したあとの画像データやUI要素をメモリにキャッシュしている。このため、2GB以上のメモリを搭載し、常にFirefoxを実行していて特定のサイトでの作業が多いという場合、このキャッシュサイズを引き上げることで性能の改善が期待できる。「browser.cache.memory.capacity」を整数として作成して「32768」を設定する。この設定はFirefoxを再起動したあとで有効になる。
TraceMonkey JavaScriptエンジンを有効にする
最新のFirefoxにはJavaScript JITエンジンが搭載されているため、3.5.xの最新版へのアップデートを実施してから、「javascript.options.jit.chrome」と「javascript.options.jit.content」の値を「true」へ変更する。「javascript.options.jit.content」はデフォルトで「true」になっているが、「javascript.options.jit.chrome」はデフォルトでは「false」に設定されている。
より進んだTCP関連の調整
レスポンスを受け取る前に複数のリクエストを送信するパイプラインというテクニックがある。サーバが同機能をサポートし、十分なネットワーク帯域がある場合にはこの方法でページのダウンロード時間の短縮が実現できる場合もある。
項目 | 種類 | 値 |
---|---|---|
browser.tabs.showSingleWindowModePrefs | 論理値 | true |
network.http.max-connections | 整数 | 48 |
network.http.max-connections-per-server | 整数 | 16 |
network.http.max-persistent-connections-per-proxy | 整数 | 8 |
network.http.max-persistent-connections-per-server | 整数 | 4 |
network.http.pipelining | 論理値 | true |
network.http.pipelining.maxrequests | 整数 | 8 |
network.http.proxy.pipelining | 論理値 | true |
network.http.request.timeout | 整数 | 300 |
content.notify.ontimer | 論理値 | true |
項目 | 種類 | 値 | 備考 |
---|---|---|---|
trim_on_minimize | 論理値 | true | Windowsのみ |
content.interrupt.parsing | 論理値 | true | |
content.max.tokenizing.time | 整数 | 2250000 | |
content.maxtextrun | 整数 | 8191 | |
content.notify.interval | 整数 | 750000 | |
content.switch.threshold | 整数 | 750000 |
なお、紹介されている方法は高速化や軽量化を実現するものの、逆に候補表示機能の利便性を下げたり、UIの動作がピーキーになって使いにくくなったと感じたり、メモリの消費量が増えることでスワップアウトが発生し逆にシステム全体が重くなったり、動作が不安定になったり、ほかのユーザに影響をもたらす可能性もある点に留意する必要がある。