ブラウザの機能が増えると共にウェブのコンテンツも重いものが増えてきて ブラウザの動作が遅く感じる事が多くなってきました。 もちろん、一昔前に比べれば十分速くて単に速いのに慣れてちょっとでも 遅いと嫌だというのもあるとは思いますが。
Firefoxに関して言うと特にタブを閉じた時に動作が一時効かなくなるような事が増えてきました。 その辺を解消する設定を試してみます。
タブを閉じる時にメモリを解放しないようにする
Firefoxではメモリの節約機能として タブを閉じたらすぐにそのタブに使っていたメモリを解放する機能があります。
確かにブラウザはメモリを大量に使うのできちんと掃除してくれるのは嬉しいのですが、 このメモリの掃除がタブを閉じる毎に行われると結構負荷がかかっているようです。
また、一度閉じたタブをもう一度開いたときにも全て読み直すので時間がかかります。
この開放機能はabout:configから
image.mem.discardable
という値をfalse
にすることで無効化出来ます。
セッションを保存する間隔を長く
タブを閉じた時のプチフリとは直接関係ありませんが、 Firefoxの動作を重くしてる要因の一つの機能。
Firefoxがクラッシュした時なんかに 再度立ち上げると以前のセッションを復帰させる事が出来ますが、 その現在の状態を保存する機能が結構短い間隔で動いています。
この間隔はabout:configで
browser.sessionstore.interval
という値で設定されています。 初期値は15000で、msで設定されてるので15秒間隔で保存されることになります。
なのでもし動画とかを見ていて15秒毎にガタガタするな、と思ったらこれが原因の可能性もあります。
流石に15秒間隔で保存する必要は無いので これを600000(10分)位にしておきます。 もしくはほぼ無効化する意味でもっと長い間隔にしてしまっても良いかもしれません。
設定の同期
上の2つの設定はそのままではFirefox Syncでは同期されません。
ただし、以下の様な値を
about:configで真偽値の値として作成し、
値をtrue
にしておくと同期出来る様になります。
services.sync.prefs.sync.browser.sessionstore.interval
services.sync.prefs.sync.image.mem.discardable
の様に同期したい値の頭にservices.sync.prefs.sync.
を付けた値。
もしくは、Vimperatorを使っているのであれば、 .vimperatorrcの中に
set! image.mem.discardable=false
set! browser.sessionstore.interval=600000
の様に設定を書いておくと起動時に読み込んで設定してくれます。
メモリ解放アドオン
タブを閉じた際にメモリの解放を行わない様にするので これによってFirefoxの起動中にメモリが通常より増大します。
実際、普段多くて1GB台だったものが2,3GB程度まで増えていました。
そこでメモリを動的に解放するアドオンを使います。
Free Memory 2.0を使って60分間隔でメモリを解放する様に設定しました。 これも逆に短い間隔にしてしまうとその解放時にちょっと動作が止まるので 使用メモリとマシンのメモリとの兼ね合いで適当に設定。
まとめ
これらの設定をしてしばらく使ってみましたが、 特にタブを閉じた後にフリーズする現象が大分緩和された様に思えます。
また、クラッシュする回数も減ったかな、と。
メモリの使用量を監視してるとちょっと大きくなりすぎてるかな、と思うこともあるので メモリ解放の間隔を考え直す必要があるかもしれませんが、 今のところOS全体への影響があるほどではないので様子見。
Firefoxの環境をリフレッシュしたりも以前試しましたが、 確かにリフレッシュ直後は多少調子が良くなるものの、 しばらくするとそれ程変わらなくなる感じでした。
ずっと使っていた状態ならやらないよりはマシかな、と言う感じはありますが。
Vimperatorの先行きも怪しいので今後Firefoxを使い続けるか 他に移るか、と言う考え時ですが、 かと言ってGoogle Chromeが物凄く軽い、というわけでも無いので考えもの。
最近はSafariやMicrosoft Edgeが頑張ってる感じがあって、 OSに最適化されてるからか 何もアドオンとか無い状態での動作は何もアドオンとか無い状態での動作は Mac/Windowsの中で一番快適に動いている、と言った感じもあります。
取り敢えずはまだFirefoxを使い続けますが、一番良く使うアプリだけに出来るだけ快適な環境を手に入れたいものです。