Firefoxの使用メモリ量雑感
初回投稿日時: 2006年02月16日04時22分47秒
最終更新日時: 2006年02月17日02時11分55秒
カテゴリ: Firefox
固定リンク: id=2006021600
SNS:
(list)
slashdotで話題になっているが、まあ、メモリ食いなのは仕様ではある。正直、何を今更、という感がぬぐえない話なのだが、少しだけ雑感を。
Fx1.5以降はbfcacheが搭載され、これのメモリ消費がバカにならない訳だが、そもそもbfcacheが実装されたいきさつを考えると、Operaのようにレイアウト結果もキャッシュに保存しておいて、戻る、進むを高速化して欲しいという要望があったからであって、これをオフにすると、今度は速度で文句を言う人間が出てくるのみで堂々巡りがオチである。(注意: bfcacheが実際に何を保存しているのかは知らない。レイアウト結果ではないかもしれない。)
駄目なロジックを改善する場合を除けば、高速化というのは、メモリをいかにうまく使って計算回数を減らすか、ということになるのではないかと思う。(例えば、昔から有名なのは三角関数を多用するなら、計算結果を配列に保存しておくとか。)そういう意味では、あちらを立てればこちらが立たない、という状況になってくる訳だ。つまり、いくらバランスをとろうとしても、どこかにそのチューニングによる被害を受ける人は出てくると思う。(もちろん、マーケティング上は、この被害者をいかに減らせるかが問題ではあるが、大半の設定はマーケティングとは無関係に開発者によって決定されてリリースされるので、普通の商品とは少し事情が違っている。)
ここで注意したいのは、Mozilla系のプロダクトはある一貫したポリシーを持っている(と思われる)ことだ。メモリを犠牲にして、速度向上に努めるのが基本方針のようである。(誰の意志が色濃く反映されているか分からないので偶然かもしれないが、)例えば、Windows版で、ウインドウを最小化してもメモリを解放しなくなったのは、ウインドウ復元時にパフォーマンス低下の苦情が多かったことへの対応なので、この方針に一致している。
また、内部処理で多用されているnsIAtom
にしても同じである。メモリ食いだが、文字列比較に比べれば明らかに高速に処理できる。
つまり、結論を言えば、Mozilla系のプロダクトはデフォルト設定のままだとCPUに金をかけたPCよりもメモリに金をかけたPCのほうが快適に動くということである。(設定でbfcache等を無効にすることでメモりへの負担は軽減可能なので、製品のパフォーマンスが最も発揮される状態が初期設定となっているのは自然なことである。)
メモリ不足を深刻に考えるユーザへのアドバイスとしては、設定をチューニングするのはもちろん、タブを開きすぎるな、とも言いたい。何十個もタブを開いたら、すごい容量のメモリを食うが、考えてみれば当然の話だ。なぜなら、それだけのウインドウを開いているのと変わらないのだから。(しかもそれぞれのタブにひもづいてbfcacheも倍増する。)
タブブラウザは画面にウインドウが氾濫しないという点では優れているが、メモリ消費に関しては、非タブブラウザと大して変わりはない。もし、その見た目から省メモリであると思う人がいるなら考えを改めた方が良い。
結局の所、Mozilla関連プロダクトは潤沢なリソースのある環境ほど高速に動作するように設計(設定)されていると言える。長年PCをアップグレードしていないユーザからは苦情が出るかもしれないが、頻繁にアップグレードしているユーザが利益を享受できるというのは健全で理にかなっていると言える。車で考えると分かりやすい。快適に乗りたければそれなりに金を積む必要があるわけだ。
MacのUIは日本語環境で動かしていると、常にヒラギノ角ゴ Pro W3
で表示されていたが、ネイティブなUIと同様に、ASCII文字はLucida Grande
で表示されるように改善された。修正してくれたYamashitaさんに感謝。
少しアドホックな修正で反対意見も出ていたが、私はリスクの低いこの修正は価値があると考えている。
ちなみに、この修正で分かったが、CSSのシステムフォント指定には欠陥がある。また次回、別のトピックでこのことを書きたいと思う。