Firefox Quantumが激重になる問題が発生中
2017/12/08 追記
Mozilla、「Firefox」v57.0.2を公開 〜“Critical”な脆弱性を1件修正 - 窓の杜
またバージョンアップされてます。
今度こそ、不具合直ったんでしょうかね?
2017/11/30 追記
「Firefox Quantum」v57.0.1が公開、一部環境で動作が異常に遅くなる問題を修正 - 窓の杜
RealPlayerの処理をブロックするように修正された新しいバージョンが公開されたようです。
主にWindowsで起こっているらしい。
うちの環境ではならなかったのだが、どうも少なくない数の人にFirefoxが重くなる問題が発生しているようだ。
バージョン56のときに、Firefoxを起動してしばらくすると反応が極端に鈍くなる問題が起こった。
そのときはプロファイルを作り直したり、リフレッシュしたら改善した。
なので古いプロファイル設定が悪さをしているのだろうと思っていた。
プロファイルのリフレッシュで直る場合、原因はこれの可能性が高いと思う。
Firefox が CPU リソースを大量に消費する | Firefox ヘルプ
この記事に書いてあるようにプロファイルディレクトリ以下のcontent-prefs.sqliteを削除する。
あるいは設定のプライバシーの所か、メニューやツールバーの履歴でサイトの設定をクリアすることができるので、それだけ削除できればプロファイル全てを初期化せずに済む。
バージョン57でも同じ問題がそのまま残っているのではないか?と考えていたのだが、どうもプロファイルのリフレッシュでは直らないようだ。
原因として候補に上がっているのがRealPlayerに付属しているRealDownloaderというアプリだ。
これはブラウザでアクセスしたページにある動画をダウンロードできるようにしてくれるものらしい。
やっと、firefox57 が激重いが解決できた。
— takubon (@kazur02) 2017年11月20日
ネットの情報で解決できたけど、意外にヒットしなかった。
原因は、Real Player に付随してる Real Downloader でした。
これをオフれば解決。
定番の方法で解決しない、AdobeのFlash Player が原因でもなかった。#Firefox57 重い#FirefoxQuantum 重い
私のPCの場合ですが、
— にーさん (@nisan_R34) 2017年11月19日
FireFoxがフリーズのごとく重い原因がわかりました。
動画再生ソフトRealtimeplayer付属ソフトにある、
RealDownloaderがFirefoxのブラウザに悪影響だったようです。
RealDownloaderの環境設定で画像のチェックをはずすことで
FireFox挙動が重いのが解消されました。 pic.twitter.com/oODCjK2iug
RealDownloaderの環境設定で"「このビデオをダウンロード」機能をchrome、Edge、firefoxブラウザで有効にする"のチェックを外すと無効にできるようだ。
もう一つは、アクセシビリティサービスとFirefoxの相性のようだ。
アクセシビリティサービスの説明は以下のページ。
主にテキストの読み上げに使われているというので、目の不自由な人など障害者向けの機能ではないかと思う。
これがブラウザを極端に遅くさせる原因として考えられていて、Mozilla Japan コミュニティのツイッターアカウントが定期的にツイートして呼びかけている。
一部の外部ソフトウェアが原因で、Windows 版 #FirefoxQuantum の挙動が極端に重くなる現象が報告されています。このサポートページに書かれているように、オプション画面でアクセシビリティサービスを無効化することで、当面は問題を回避できます。 https://t.co/bjMQ14VXrq pic.twitter.com/w0VYFFhn8V
— Mozilla Japan コミュニティ (@mozillajp) 2017年11月20日
極端に遅くなる原因とは言えないが、もともとアクセシビリティサービスを利用しているとFirefoxはその処理を待つために遅くなってしまうようだ。
タブバー上の人型アイコンを消す(追記あり) - Mozilla Flux
積極的にアクセシビリティサービスを使っているのでなければ、Firefoxへのアクセスは遮断してしまっていいと思う。そうしたサービスがFirefoxにアクセスする場合、ブラウザとしては処理を中断して応答しなければならず、知らず知らずのうちにパフォーマンスの低下を招いている可能性もあるからだ。
興味深いのは、アクセシビリティサービスとは関係ないのではないか?と思われるアプリケーションまたはサービスがアクセシビリティサービスを利用したものとして判断されていることだ。
ATOK 2016 の新機能「ATOK インサイト」が強力すぎる件 | Open the Next
この機能、どういうものかと言うと、その時に開いている対応アプリケーション (例えば Safari などのブラウザ) で表示しているページの単語などを優先的に候補表示するものです。
これは確かに読み上げ機能と同じでページ内の文書を利用しているのでアクセシビリティサービスを利用しているのだろう。
そしてRealPlayerのアドオン、多分、RealDownloaderだろうがこれもアクセシビリティサービスを使ってブラウザにアクセスしているものに入るらしいのだ。
不便と引き換えにパフォーマンス改善するFirefoxの設定 RealPlayerなどのアドオンが無効になりますが、ブラウジングは高速化されます。これって改善策か?欠陥商品になったFirefox、メインブラウザをChromeに変更したよ。 pic.twitter.com/J4DizNpOjd
— エロチカ・セブン (@Erotica7sas) 2017年11月17日
このツイートによれば、「アクセシビリティサービスによるブラウザーへのアクセスを止める 」にチェックを入れるとRealPlayerのアドオンは無効になるとのこと。
このATOKインサイトとRealDownloaderはどちらも前から便利だという意見の反面、パソコン、ブラウザが重くなるとかメモリの消費量が大きすぎると言われているようだ。
ATOK2016の新機能「ATOKインサイト」がメモリを使いまくっているので、「一時学習候補」をオフにした件 | 部長ナビのページ
OSもMacでブラウザもSafariなので直接関係ないが、メモリ食いやブラウザを重くしているそう。
で、RealPlayerをダウンロードしてインストールしてエンコードに励んでいたのだけど、ブラウザにrealdownloaderなるものが組み込まれてしまった。特に害は無かろうと思ってたんだけど、どうやらこいつがノートン先生のお気に召さなかったのかNIS.exeが唸りっぱなしに…
— もっちー 日曜日 東M48b (@Motchie1945) 2017年5月13日
こいつはなんぞ?と思ったらRealPlayerに付属してるrealdownloaderのものだった。タスクマネージャーから停止させるとFirefoxもちゃんと動くようになったので、こいつが原因だったらしい。実に面倒だった…。スタートアップから削除して一件落着…だと思いたい
— もっちー 日曜日 東M48b (@Motchie1945) 2017年5月13日
セキュリティソフトとRealDownloaderの相性が悪いらしく、無効にしたらFirefoxが問題なく起動したとある。
今日ようやくWindows10を1607にバージョンアップすることができました(´;д;`)
— cozy (@mtcozy) 2017年3月15日
ついでにchromeのウィンドウが最前面に来ないバグの原因がRealDownloaderにあったことがわかってすっきり♪
アクティブウィンドウが最全面に出てこない問題解決した。real downloaderっていうソフトのchromeとの連携を切ればいいみたい。
— 天野卯月 (@amanouduki) 2017年2月4日
ここ最近,複数のウィンドウを開いているときに,アクティブにしたウィンドウが最前面に出てこない事象に悩まされていたのだけれど,質問サイトに同様の投稿があったので,指示通りに #RealDownloader をアンインストールしてリブートしたら解決した。 #Windows10
— ぽぱー@初冬のだうーん。 (@HoriuchiHr) 2016年9月18日
Chromeなら使えるのに、FirefoxでRealDownloaderが使えなくする設定で回避して、RealDownloaderの責任にして良いのか?というツイートもあったが、Chromeでも問題は起こっていたのだ。
場合によっては、Windows全体に影響していたようだ。
RealPlayerって削除大変だったの忘れてインストールしてもた。プレーヤはアンインストールできたけどl、RealDownloaderが消せない。困った><
— うきわ/Yamo Kode (@usamiffy55) 2017年5月31日
RealPlayer をアンインストールした後も、1時間おきに実行される「RealDownloader Update Check」というタスクがタスクスケジューラに残っていました
— 100の人 (@esperecyan) 2016年8月23日
RealPalyerを消しても、RealDownloaderは残ってしまうという、かなりお行儀の悪いアプリケーションらしい。
CentOS 7 に PHP 7.1 と phpMyAdmin をインストール - Qiita
正常にログインできない原因としてもあげられている。
RealDownloadeの問題だと考えても良いのではないだろうか?
必要ないなら無効にしたり、アンインストールしたりするのが良いのではないかと思う。
about:supportとURLバーに直接入力するか、メニューの「ヘルプ」の「トラブルシューティング情報」で見られるページに「アクセシビリティ」という項目があって、ここでこの機能の有効・無効の有無やこれを利用してFirefoxにアクセスしているアプリケーションの確認ができる。
Firefox 57 : How to disable Accessibility Services | Techdows
Firefox 57 lets you Prevent Accessibility tools from accessing the browser | Techdows
UI オートメーションという機能の一部のツールもアクセシビリティサービスを利用しているようだ。
WinRT/Metro TIPS:Inspectツールを使ってUIを調査するには?[Windows 8/Windows 8.1ストアアプリ開発] - @IT
うちの環境では、「アクセシビリティサービスによるブラウザーへのアクセスを止める 」にチェックは入れておらず、無効にはなっていないが、それを利用しているアプリケーションがないようだ。
いずれにしろ、「アクセシビリティサービスによるブラウザーへのアクセスを止める 」ことでFirefox Quantumが極端に重くなる現象は回避できるようだ。
しかし、これと関係があるかわからないが、メモリ消費量が極端に大きくなる現象も起きているようだ。
ttps://www.reddit.com/r/firefox/comments/74ulbr/insane_firefox_memory_usage_v570b6_on_mac/
ttps://www.reddit.com/r/pcmasterrace/comments/7e4dnx/firefox_insane_memory_usage/
RedditのURLをリンクとして貼り付けるとブログ記事が更新できなるので上のような形で貼り付けた。
ツイッターでも同じような問題に悩んでいる人が幾らかいる。
Bugzilla@Mozillaで検索してみたら、バージョン57が公式版になるまえの段階での同じような問題があった。
1408229 - High RAM Usage(or memory leak) on latest Firefox Beta/Nightly
Memory LeakとかHigh Memory(RAM) Usageなどでいくつか似たようなものがある。
Reddit内のAmazon広告がものすごくメモリを消費しているというバグとしても報告されているようだ。
1418326 - High memory usage due to amazon ads on reddit
しかし、こちらは解決策・回避策が見つかっていないようだ。
メモリがリークしている場合には効かないかも知れないが、メモリ量を抑える方法としては、「プロセス数を減らす」「履歴のページデータを保存する数を減らす」という2つが考えられる。
Firefox Quantumではマルチプロセスでタブを管理し、高速化と安定化をはかっている。
しかし、マルチプロセスはメモリ消費量が大きくなる。
メニューの「設定」で設定画面を開き、「一般」タブの「パフォーマンス」という項目で「推奨のパフォーマンス設定を使用する」のチェックを外す。
すると「ハードウェアアクセラレーション機能を使用する (可能な場合)」と「コンテンツプロセス数の制限」という2つの項目が現れる。
「コンテンツプロセス数の制限」のプルダウンメニューで数値を変更する。
プロセス数は標準で4になっているようなので、これを2や1にする。
Firefox Quantumは1つのページを表示するのにマルチコアを使っているらしいので、プロセス数を1にしても十分に速いのではないかと思う。
実際、私はプロセス数を1にして使用している。
もう1つはこれらのページを参考に。
http://level.s69.xrea.com/mozilla/index.cgi?id=max_total_viewers
Mozilla Re-Mix: Firefoxのセッション履歴保存方法を変更してメモリ消費を抑える方法。
訪れたページのデータをメモリに保存しておき、戻ったときにすぐに表示できるようにする機能だ。
about:configで詳細設定ができるページを開き、「browser.sessionhistory.max_total_viewers」を検索、その項目の数値を変更する。
標準では搭載メモリに応じて自動的に決定される。
これを8やそれ以下に決め打ちする。
またabout:memoryのページで「Free Memory」という項目の「Minimize memory usage」を行うことで、メモリを開放するなどして消費メモリを減らす処理をさせることができる。
「Show memory reports」の「Measure」を押すとFirefoxの中のメモリ使用量の内訳が表示される。
バグレポートを送るときにこれを貼り付けるなどすると良いということになっている。
ブラウザを最小化したときにメモリを小さくする設定があったな?と思ったのだが、あれはスワップ領域に移動させて物理メモリの空きを増やすだけで、メモリ消費量自体は減らず、かえってHDDやSSDの書き込みやブラウザを再び表示させたときの読み込みを増やしてパフォーマンスを低下させるようである。
ちなみにこの問題も私の環境では起きなかった。
バージョン56から色々と動作に問題が起こって、他のブラウザに移行した人がいるようだから、早く解決すると良いと思う。
p5.jsのテスト
See the Pen empty-example by massann (@massann) on CodePen.
ちょっと間違えているけど、円が回っているように見えるように書いてみた。
p5.jsというのはProcessingというJavaベースのグラフィック開発のためのプログラミング言語をJavascriptに移植したものだそうだ。
ちょっとニューラルネットワークの初歩の初歩を勉強したときに使ってみたら、結構、簡単にグラフィックを描くことが出来て感動した。
はてなブログに埋め込むなどして使いたかったが基本的に使えない。
Githubなどを使えば良いらしいがちょっと使いたいだけだからアカウントを作るのは敷居が高い。
仕方ないのでCodePenにしてみた。
無料版だと10ファイルくらいしか作れないらしいが、ちょっと試してみるだけだから良いかな。
バージョン57以降のAndroid版Firefoxのアドオン
実はAndroid版Firefoxでもアドオンが使えなくなった
バージョン57になって、動作は速くなったが古いアドオンが使えなくなったという不満や戸惑いは消えていない。
そして、その状況はAndroid版Firefoxにも来てしまった。
今まで使えていたアドオンが使えなくなったのだ。
PC版と違って、Android版のこの対応についてはほとんど知られていなかったのではないか?
ということで、以前、書いた記事で紹介したアドオンの対応状況を調べてみた。
前提としてまず言えるのは、Web Extensions版への移行のおかげか、多くの場合、PC版と同じアドオンで対応できそうなことだ。
これならなんとかなるかも知れない。
Adobe Flash Plugin
アドオンではないが、一応、使えなくなったものとしてここに書いておく。
今のバージョンの1つ前のバージョン56で無効になってしまった。
これでほとんどのAndroidのブラウザではFlashが使えなくなった。
Phony
ユーザーエージェントを変更できるアドオン。
バージョン57で使えなくなった。
PC版の同様のアドオンで対応可能である。
私が使っているのはこれ
User Agent Switcher – Android 向けアドオン
当然、PCと見た目や使い方は少し異なる。
メニューに「User Agent Switcher - 無効」という項目ができ、これをタップすると別のタブが開いて、UserAgentを選択できる。
ちなみに、Yahoo! JapanをPC版の見た目で見ようとすると、動画ニュースを見たいときWindows上のブラウザとしてアクセスするとFlash Pluginが使われるため、前述のFlash Plugin対応終了のために見られなくなった。
そこで、Mac OS上のFirefoxとしてアクセスすることでFlash無しで見ている。
Yahoo! Japan以外でもこの方法は有効なので、普段はMac OS上のFirefoxを偽装している。
メニューの「アドオン」から「User Agent Switcher (バージョン番号:現在は1.1.0)」をタップする。
するとそこのページに使えるユーザーエージェント一覧が表示されるためにそこをスワイプ(スクロール)する。
一番下の左側に「テキストモードに切り替え」というリンクがあるのでタップする。
テキスト入力欄ができるので、そこに
Mac OS X / Firefox 57 [Desktop]: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:57.0) Gecko/20100101 Firefox/57.0
と入力して、「テーブルモードに切り替え」を選択すると、これが新しいユーザーエージェントとして使えるようになっている。
アドオンタブを閉じて、上で説明したようにメニューからUserAgentを切り替える。
Desktop by Default
Desktop by Default – Android 向けアドオン
UserAgentを偽装していればほとんどのサイトでは問題ないがバージョンアップ時の不具合や、サイトによって、偽装してもモバイル版で表示されてしまう場合がある。
そんなときに常に「PCサイトモード(デスクトップモード)」で見るためのアドオン。
これも使えなくなった。
探してみたところ、「Desktop Only」というアドオンが見つかった。
これをインストールすればほぼ問題ないようだ。
しかし、サイトにアクセスしたときに送られる環境変数をチェックできるサイトで調べてみたところ、これもUserAgentを偽装することでデスクトップの表示にしていることがわかった。
これではUserAgent Switcherと同じなので、意味がないだろう。
単純にPC版の表示がしたいだけの人は、UserAgent Switcherをインストールせずにこちらだけインストールすると良いかも知れない。
ただし、Linux上のFirefoxを偽装するためにYahoo! Japanの映像ニュースは見ることができない。
uBlock Origin
uBlock Origin – Android 向けアドオン
広告ブロックのアドオン。
PC版でもAdblock Plusなどよりも軽いとか、Adblock Plugを開発している組織がお金を払った企業については広告をブロックせずに表示すると言ったことをしており、uBlockはこれが無いので乗り換えている人も多い。
広告をブロックする「Adblock Plus」が広告の販売を開始 - GIGAZINE
こちらはそのまま使える。
むしろバージョン57になってから以前にあった不具合がなくなり、問題なく使えるようになった。
QuitNow、CleanQuit
CleanQuit (Mobile) – Android 向けアドオン
QuitNowはメニューに「終了」という項目をつけるアドオン。
CleanQuitは「CleanQuit」という項目ができて、これを押して明示的に終了するとクッキーや履歴などを消去できるアドオン。
どちらも使えなくなった。
しかし、実はこの機能は今のバージョンのFirefoxには標準で備わっている。
メニューの「設定」を押して設定画面を開き、「プライバシー」という項目をタップする。
「終了時にプライベートデータを消去」という部分をタップすると消したい項目が現れる。
ここで消したい項目を選ぶとこの機能が有効になり、メニューに「終了」という項目が現れる。
単に終了するだけということはできないが、「検索履歴」だけを削除するなど影響の少ないものだけを選択すれば、ほぼ終了するだけの用途に使えるだろう。
Toggle JavaScript Enabled
https://addons.mozilla.org/ja/android/addon/toggle-javascript-enabled/
簡単にJavaScriptを無効にしたり、再び有効にしたりできるアドオン。
これも使えなくなった。
ページも削除されてしまっている。
JavaScript Toggle On and Off (WebExtension) – Android 向けアドオン
Javascript Control – Android 向けアドオン
Quick JS Switcher – Android 向けアドオン
幾つか試してみたのだが、どうもきちんとうまく動いていないようだ。
環境にもよるかも知れないので上のページなどで確認してみて、使えるようならどうぞ。
Tap Translate
Tap Translate – Android 向けアドオン
ブラウザ上の単語を長押しして選択すると翻訳ができるアドオン。
今のバージョン57でもそのまま使える。
単語を長押しして選択すると右上に「T」と書かれたボタンが表示され、これをタップすることで翻訳結果が表示される。
PDF Viewer(pdf.js)
PDFをブラウザ内臓のビューワで見ることができるアドオン。
この機能はPC版では標準搭載になったため、アドオンのページ自体が消えてしまった。
GitHub - mozilla/pdf.js: PDF Reader in JavaScript
Android版Firefoxでも同じようにしてブラウザでPDFを見たいという人はGitHubでxpiファイルをインストールすることでそれが可能だった。
しかし、今のバージョンのFirefoxでは、インストール時に許可を求めるダイアログは出るものの、ダウンロードしたあと、インストールに失敗しているようだ。
これは外部アプリを使って見るしか無いようだ。
###Speed Tweaks (SpeedyFox)
Speed Tweaks (SpeedyFox) – Android 向けアドオン
サーバへの同時接続数などブラウザの設定を変えることで通信を高速化するアドオン。
PC版でもAndroid版でも使えなくなった。
about:configの設定を変更しているので、その項目を手動でいじれば同じことはできる。
また、今のバージョンは標準でも随分と早くなったので、そもそも必要が無いかも知れない。
View Source Mobile
View Source Mobile – Android 向けアドオン
ページのソースを表示するアドオン。
これも使えなくなった。
URLバー(アドレスバー)で、URLの頭に「view-source:」と入力して読み込むとソースを見ることができる。
ちょっと面倒だ。
探してみたところ、同様のアドオンがあった。
ときどき使うから、やはりワンタッチで使えるほうが便利だ。
Image Block X
Image Block X – Firefox 向けアドオン
ページの中の画像を読み込むかどうかを切り替えられるアドオン。
Android 版 Firefox で画像をブロックまたは Wi-Fi 環境でのみ読み込む | Android 版 Firefox ヘルプ
Android版Firefoxには標準で画像の読み込みを有効にするか無効にするか設定することができる。
無効にしていても、ブロックしたというアイコンマークを長押しすることで個別に画像を見られるということになっているのだが、うまくいかないことが多い。
これはワンタッチで切り替えられるので便利。
メニューの「Images are allowed」という項目をタップすると読み込まないようになり、「Images are blocked」という表示に変わる。
そのままではページは変わらないので手動で再読み込みする必要がある。
その他
ブックマークレットはそのまま使えると思う。
また、この記事を書いていて気づいたのだが、Android版Firefoxについていたリーダーモードはそれを有効にするアイコンがあまり出てこなくなった。
本当に特定のサイトでないとアイコンが出ないのでほとんど使うことはない。
リーダーモードにした記事の一覧表示(リーディングリスト)が無くなったので探すことができなくなっている。
まあ、元々使わないのだが。
どうしても今見ているページをリーダーモードして見たい場合は、表示されているページのアドレスバーをタップしてURLの先頭に"about:reader?url="を追加してエンターでリーダーモードを実行できる。
まとめ
とりあえず、自分の使っているアドオンについて、バージョン57以降の対応状況と代替アドオンを調べてみた。
多くのPC版アドオンが使えるようになると思う。
例えばTampermonkeyは以前はAndroid版では動かなかったが、現在のバージョンでは動く。
Greasemonkeyの代替アドオンだったが、Andoid版はそもそも無かった。
不完全ながらいくらかのスクリプトが動くusi (User|Unified Script Injector) というアドオンはあった。
usi (User|Unified Script Injector) – Android 向けアドオン
バージョンアップされて、今のバージョンでも使うことができるが、Tampermonkeyが使えるなら必要無いかもしれない。