2014年11月2日日曜日

Firefox 33 を安定させるための about:config による設定

0. 目次

追記(2015/5/5): Firefox 32bit の場合、以下の設定をする前にメモリ使用量をチェックすること。

 

1. Firefox が頻繁に固まり落ちる

SnapCrab_No-1601 Firefox — Notes (33.0) — Mozilla に更新してから、調子が悪い。特に Google マップで Earth ビューやストリートビューを操作していると固まったり、落ちる。うーん。。 (+_+)

色々設定を変更して試した結果、以下の状態が一番安定しているかなぁ?

※ 前提として、MacType で Firefox のフォント表示を滑らかにしている。

追記(2014/12/16): Firefox 34 は割と安定しているので、問題なければ MacType のための設定以外、全てデフォルトにすると良い。

追記(2014/12/29): Cyberfox は何も設定していなくても安定しているので、Firefox から乗り換えた。

 

2. Firefox 本体の設定

最初に、Firefox 本当を最新バージョンに更新する。

a. JavaScript の設定

画像、JavaScript に関するメモリ使用量を抑える

  • image.mem.max_decoded_image_kb: 51200
  • javascript.options.mem.max: 51200
  • javascript.options.mem.high_water_mark: 32

※ この値は特に環境に依存しているようなので、値を色々変えて試してみると良い。問題がなければデフォルトの設定を推奨。

 

b. OMTC の設定

追記(2014/11/11): Firefox のウィンドウの一部が黒くなる場合、OMTC の設定を無効化する。

  • layers.offmainthreadcomposition.enabled: false
  • layers.async-video.enabled: false

追記(2014/12/14): 上記の値は、オプションのハードウェアクセラレーションをオフにしないと Firefox が起動しなくなる場合がある。

追記(2014/11/24): ただし、問題がないのなら、上記の値を true にすることが望ましい。

 

c. RAM ディスクを利用する場合

追記(2014/11/3): SoftPerfect RAM Disk で RAM ディスクを作成し直しFirefox でキャッシュ設定を行なった。

  • browser.cache.disk.parent_directory: f:\firefox

追記(2014/11/12): Firefox のキャッシュを含むフォルダをまるごと RAM ディスクへ置き、シンボリックリンクを張る 方法もある。

 

3. グラフィックカードとの問題

a. Firefox

gfx の設定から direct2d, skia を削除し cairo のみ残す

  • gfx.canvas.azure.backends;skia,cairo
  • gfx.content.azure.backends;cairo

もし、問題なければ、オプションでハードウェアアクセラレーションを有効にした後、MacType のために以下の値を設定する。

  • gfx.direct2d.disabled;true

また、上記 gfx の設定で direct2d を戻す。

それから、下記の設定を全て true にしてクラッシュしないか試してみると良い。

  • gfx.direct2d.force-enabled;true
  • layers.acceleration.force-enabled;true

cf. Removing old OpenGL layers | Mozilla Gfx Team Blog, Blocklisting/Blocked Graphics Drivers – MozillaWiki

 

b. Flash Player

プラグインのチェックと更新 — Mozilla で Shockwave Flash が最新であることを確認する。

 

4. plugin-container の設定

plugin-container を無効化

プラグインコンテナとは、プラグインのプロセスを Firefox のプロセスから切り離すための手段。これを利用しないよう設定した。

plugin-container.exe とは何か? によると、

各プラグインは Firefox とは別の plugin-container.exe に読み込まれます。プラグインがクラッシュしても Firefox のメインプロセス (firefox.exe) はクラッシュせず、開いたままにしておくことができます。Firefox のセッションが開始してから起動したプラグインの数だけ、plugin-container.exe のプロセスが実行されます。

まず、Flash Player を別プロセスで起動するために、保護モードは無効 にした。

追記(2014/11/12): プラグインをプラグインコンテナで実行しないようにするには、

  • dom.ipc.plugins.enabled;false

Plugin-container and out-of-process plugins - MozillaZine Knowledge Base > Disabling crash protection によると、

In some cases you may want to disable the "out-of-process plugins" (OOPP) crash protection feature; e.g., to troubleshoot problems that first appeared in Firefox 3.6.4 or above. To disable crash protection, go to about:config and set to false all preferences starting with dom.ipc.plugins.enabled. (It is possible that your browser has only that preference entry without any addition.) This will prevent the "plugin-container" process from running and all plugins will run within the Firefox browser process.

これにより、Google マップをフル 3D モードでも問題なく表示できる。

また、以下の操作をしても、直後に落ちることがなくなった。

1089682 – OOM crash on http://pioul.fr/lolgl/ WebGl game.

1. In a new tab go to http://pioul.fr/lolgl/
2. Let the animations run for several seconds.
3. Close the tab.

 

5. 補助的なアドオン

 

6. Google マップで落ちる場合

追記(2014/11/18): Google マップでよく落ちる場合は、モードをシステムのデフォルトに戻す

それでもダメな場合、3D 画像を表示しないライトモードを利用する。または、WebGL を無効にする。

 

関連記事

参考記事

3コメント:

詠み人シーラカンス さんのコメント...

Scriptish使ってたりします?
うちのは、Macですけど、Scriptishが盛大にメモリリークしちゃってて酷いとFirefoxだけで8GB以上メモリを食うようになったので、Greasemonkeyに変えて、常時使わないscriptはUC.jsのscript loaderにしたら、だいぶ落ち着きました。
あと、ディスクキャッシュ関連はあまり弄くらないほうがいいっぽいですね。
あと、Stylishにcssをいっぱい登録しておくと、やっぱりメモリを食うので、こちらもアプリ全体に影響するようなものだけにして、それ以外はUc.jsのcss loaderに移しました。

jutememo さんのコメント...

以前、Scriptish を使ってましたが、今は Greasemonkey に戻しています。
ディスクキャッシュ関連を一度作り直したら、安定するようになったような気がします。
ただし、2、3日起動したままだと、どうなるか分かりませんね。。^^;
Uc.jsのcss loader というのははじめて聞きました。CSS で問題がでたら、今度試してみたいと思います。

jutememo さんのコメント...
このコメントは投稿者によって削除されました。