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ほどのアプリケーションに関するデータのクリーンナップが可能。

BleachBitを使っている例

なお、キャッシュやクッキー、履歴データなどの削除することは起動や操作が高速になる半面、レンダリングや利用の面で不便になることに注意する必要がある。

ページレンダリング高速化

「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の動作がピーキーになって使いにくくなったと感じたり、メモリの消費量が増えることでスワップアウトが発生し逆にシステム全体が重くなったり、動作が不安定になったり、ほかのユーザに影響をもたらす可能性もある点に留意する必要がある。