俺の作業デスク

阿呆ほど遅いFirefoxをどうにか軽くする

公開日:2013/12/03 最終更新:2018/04/15
about:config編。メモ代わりに。

もしいじってぶっ壊れても泣くな。

先に断っておきますが、以下解説も適当ですので怖いなら自分でそれぞれの効果を調べてください。
責任は一切持ちません。
ちなみにこれを行っているバージョンは Firefox Nightly 28です。

キャッシュの使い方を考える

キャッシュを物理メモリにおいたら早くなるんじゃねとかそう言う感じの。

browser.cache.disk.enable → false

ディスクキャッシュを切る。
下の設定でメモリばくばく食わせればトロいディスクキャッシュなんかいらない。
ついでにSSDだと寿命が延びるかもしれない。

browser.cache.memory.enable → true

普通ONのはずだけど一応確認。

browser.cache.memory.capacity → 204800

メモリキャッシュの容量(KB)。お好みで。
私は200MBがっつり食べさせてるけど、PCのスペックと相談して決めるべき。

ちなみに、ここみれば分かると思うけど
http://zakkinks.com/ssd_firefox_ie/
どうも300000とか入れても意味はないっぽい。詳しくはソースを。

ちなみに、-1を指定すると自動調整になる……が、最大でも30MB程度しかメモリ使ってくれない。
しょっぺえ。

browser.cache.check_doc_frequency → 0

たぶんキャッシュの更新頻度が減って戻る/進むが早くなる。
Operaの History Navigation Mode = 3 みたいな効果を期待……している。一応。
WEBページによってはたまに不具合が出たりするらしいので、その辺はまあ臨機応変に。

browser.sessionhistory.max_total_viewers → -1

高速に戻る/進むするためにメモリ上に保存するページ数らしい。HNM = 3並の高速遷移が可能に!なるといいね。
ただし結構メモリ食いが激しい。厳しいときは5とか3でうまく調節を。
自動調節にしておくと、(1GB以上のメモリ搭載してる場合は)セッションごとに8ページ分キャッシュするらしい。
メモリキャッシュの自動調節(※最大30MB)と比較するとかなり贅沢な実装になっている。イミフ。

GPUぶん回す

AMDのAPUとか、一昔前のAtom + GeForceなシステムで特に有効と思われる。
Core iシリーズ+dGPUとかなら、CPU側が既にオーバースペックだからGPU使わなくても速い。

gfx.blacklist.direct2d → 4

gfx.blacklist.layers.direct3d9 → 4

gfx.direct2d.force-enabled → true

gfx.font_rendering.directwrite.enabled → true

手元のFirefoxはこうなっていた。解説めんどくさいんで各自でググってください。
ちなみにDirect2DとかDirectWriteとか通すとgdippとかMacTypeが効かなくなるから、それらを使っている人は要注意。

ていうかこの辺の設定は普通に「オプション→詳細→一般」の「ハードウェアアクセラレーション~」で入り切りできるからそっち使った方がええで。
でもDirectWriteだけはその設定と連動しないので、使う場合は自前でtrueに変更することになる。

接続数を調節する

パイプライン処理とか、サーバへの接続数とかそういう。

network.http.pipelining → true

network.http.pipelining.ssl → true

network.http.proxy.pipelining → true

パイプラインを有効化する。
かくかくしかじかで高速化する……はずの設定なのに、一部のアンチウィルスソフトと相性が悪かったりする。
ウィルスバ○ターとの相性は最悪だった。
プロキシ環境下ではこれを有効化にすることによって遅くなることもあり得る。

network.http.max-connections → 64

256もいらんから。

network.http.max-persistent-connections-per-server → 2

network.http.max-persistent-connections-per-server → 4

6もいらんから。 と思っていたが、今時のクソ重いリッチなWEBサービスとかだと2じゃ足りないらしく、読み込みがやたら遅くなることが。
調べてみたところ、IEやChromeも6にしたとかどうとか。RFC的には2にしておくべき、らしいのですが、この策定時期がかなり前の話なので現実に沿っていない可能性もあります。
まあ4あれば足りるんじゃね。もう6のままでもいいよ。


network.http.max-persistent-connections-per-proxy → 4

デフォでは最高32本つなぎに行くうひゃー。

network.http.max-connections-per-server → 消滅した

1サーバあたりの同時接続数の設定で、32や64まで増やした方が速いんだとか、RFC的には少ない方が推奨だから4~8程度でいいんだとか、やめてください(サーバが)しんでしまいますとか、サーバがしんだら残業休日出勤だから勘弁してくださいとか、様々なサイトで主張が異なり、たびたび議論になっていた。

が、Firefox 17で項目ごと消滅した。ソースコードを読んでもこの設定から数値を読み出している雰囲気がない。
つまり設定しても無駄と思われる。考えなくて良くなったよやったね!
今いったいいくつで接続してるのかは謎。

無駄な処理は切る

browser.tabs.animate → false

browser.panorama.animate_zoom → false

切れ。

network.dns.disableIPv6 → true

IPv6環境が整ってないならいらん。

network.dns.disablePrefetch → false

Chromeでもさんざん話題になったあの機能の無効化設定。
普通はデフォのfalseのままでいいんですけども、こいつもプロキシ環境下とか特定のアンチウィルスソフトと相性が悪い。
「ページを読み込んでいます」みたいな状態が長いんであればtrueにしてみると幸せになれるかも。

おまけ: Australisでもタイトルバーが欲しいです

browser.tabs.drawInTitlebar → false


まとめ

これらの設定をぶち込むとだいぶマシな動作になるんではないかと思う。
ただし、PCのスペックにも依存するので、「あんまり変わらなかったよ」とか「逆に遅くなったんですけど」とかいう可能性も大いにあり得ます。調整しましょう。

それから、ここの設定の意味が分からないままホイホイ設定しちゃったあなた。いつかパソコンをぶっ壊すので気をつけましょう。

最後に、ここに書いてあるのは「Firefoxの動作を軽くする」設定であって「メモリ使用量を削減する」設定ではありません。むしろ爆増する可能性すらあります。
そう言う設定がお好みな方は、また別の場所を見てみることをおすすめします。

ところで、Firefoxには about:support っていう機能があって、そこからアドオンとか上記の about:config で書き換えた設定とかを一覧できるんだけど、書き換えたり追加しても現れない項目があるのよね。
これもしかしてFirefox側が読み込んでない=設定しても無意味なんじゃないかなって、ちょっと考えている。

続き書いた。
【もっと】死ぬほど遅いFirefoxを全力で軽くして100タブを快適に動かす - 俺の作業デスク
http://tenkuuizayoiduki.blog19.fc2.com/blog-entry-288.html
関連記事
Firefox ]
 [ Comment(1) ]
 [ Trackback(0) ]

Comment

#No title
勉強になりましたか
by:ベトさん | 2018/10/30/15:29:59 | URL | Edit
管理者にだけメッセージを送る

Pagetop ]