僕にとって、ブラウザでBackspaceでページが戻れるのは かなり重要だ。それができないと、いちいちマウスジェスチャするかAlt+←を押さなければならず、煩雑だ(パッとできない)。更に馬鹿なことに、Firefoxはショートカットキーを変更できなくしてしまった。他の件(例: アドオン切り捨て)も合わせて 一体誰のために何をしているのか分からず、とにかく早く他に移りたかった。
そして先日、Chromeのメモリ使用量が少なくなったことに気付き、更に、VivaldiはBackspaceが使える(それどころか、ごく当たり前のことだが、ショートカットを自由に変更できる)ことに気付いた(思い出した)。そして数日前にVivaldiが更新され、Chrome同様にメモリ使用量が少なくなった可能性があるので測ってみた。
その結果、最新のVivaldi(5.1.2567.46)はFirefox(97.0)と比較し得るくらい少なくなったことを確認したので、移ることにした。参考までに、以下にVivaldiとFirefoxの1タブ当たりの平均メモリ使用量を示す。
- Vivaldi: 201MB/タブ
- Firefox: 200MB/タブ
測定条件
- バージョン
- OS: Linux Mint 20.3
- Vivaldi: 5.1.2567.46
- Firefox: 97.0
- 測定方法
- 21個のページ(僕が良く使うニュース、買い物、地図など。どちらのブラウザも同じ)を数分間隔で開いたあとのメモリ使用量の増分を求め、ページ(タブ)数で除算して1タブ当たりのメモリ使用量を求めた。
- メモリ使用量は、ブラウザのプロセスのpsコマンドのRSS(resident set size)の合計とした。
メモ
- Vivaldiは、ページ(タブ)を開いてから少し経つ(1-2分)とメモリ使用量が減ることが多い。
- また、ガベージコレクションなのか、タブを開いたあとのメモリ使用量が開く前より減ることもあった。
- Firefoxも同様だが、全ページを開いたあとで何もせずに居たらメモリ使用量が増えた。メモリリークがあるのではないか。
- 以前(2018年)はFirefoxは70MB/タブくらいだった(その時はVivaldiは217M/タブだった)が、いつからか浪費するようになってしまったようだ。
- 今回は途中までは それほど大きくなかった(10タブで154, 20タブで186 MB/タブ)が、全部を開いてから時間が経ったら増大して上の値となった。
- 近頃、何も特別なことをしていないのにFirefoxやシステムのメモリ使用量が増大することがあって不思議だったのは、メモリリークのせいだと分かった。
- 以前(2018年)はFirefoxは70MB/タブくらいだった(その時はVivaldiは217M/タブだった)が、いつからか浪費するようになってしまったようだ。
- 仮にメモリリークが直ったとしても、Firefoxに移った当初の2倍以上になってしまい、Vivaldiとの比が当初の1/3から1/1.3まで上がったので、今となっては使う意味が完全になくなった。
Vivaldiは、何もしなくてもタブバーが縦に出せることだけでも充分僕好み(僕に言わせれば、正しい・正しく ものを作っている、あるいは「分かってる」・「筋がいい」)だが、以下をカスタマイズ・調整した(したい)。
- 「新しいタブ」(Ctrl+T)でアドレスバーにフォーカスしない。→ Quick commandsという機能を使って対応できた(以下にその処理を書く)。それをCtrl+Tに割り当てた。
- New Tab
- Focus Address Field
- ウインドウに名前を追加するアドオンがない? → "Window Namer and Restorer BETA"で「概ね」できる(不満はあるが、できないよりは良い)。
- 複数のウインドウを開いていると、最小化した状態から戻す時に区別できなくなるので、ウインドウ名にそのウインドウのカテゴリを追加して区別を容易にしている。
- [未解決] タブバーのタブの幅(高さ)が少し高く、タブが増えるとスクロールが要る。 → アドオンで何とかなる?
- 今は、関連するタブをスタックさせて、見えるタブ数を減らして緩和している。
- [未解決] カレンダーは どうにか動くが、今ひとつ。: betaのためか。
- これがちゃんと動けば、Seamonkeyは要らなくなる。
- [未解決] メールも動かない。: TLSハンドシェイクエラーになる。 → (StartTLSでなく)SSL/TLSならOKだった。
- これがちゃんと動けばEvolutionも要らなくなる。
- (2/18 10:44) その後更に試したら結構惜しい。: 最初に使えなかったのは、IMAPがStartTLSに対応していないためのようで、思い付いてSSL/TLSのポートを指定したら使えるようになった。
- ただ、アドレス帳がCardDAVに対応していないので、まだ実用には向かない。が、ちょっと使った感じは悪くないので、「もう少し」の感じはする。
ちょっと使った感じでは、Firefoxより ずっと柔軟で良い!
のだが、例によって いいことずく目ではなく、以下の問題が出た。
- サイト・ページとの相性問題
- Twitter: 日本語入力(Fcitx+Mozc)が駄目。
- ツイートの入力で、文字抜けや順序の乱れだけでなく それまでに入れた文字列がすっぽりなくなることがある。
- → Linuxのアプリ(Choqok, Cawbird)は今ひとつだったので、とりあえず、Seamonkeyのブラウザを使っている。
- → SeamonkeyはFirefox系のためか、やっぱりメモリリークするので、Epiphany(GNOME Web)を試している。 (2/19 5:28)
- → Epiphanyはページ内の動画が再生できないので、Falkonを試している(Ubuntuのパッケージのものなので少し古い(3.1.0))。これも省メモリ(起動直後で約300MB)だ。 (2/19 9:29)
- → なぜか、Falkonは すごく重い・遅いことがあるので、Epiphanyに戻した。 (2/20 3:24)
- → 動画が再生できないのは不便なので、Falkonの余計そうな機能をoffにして再度試している。 (2/21 8:46)
- なお、その前にEpiphanyの最新版を試そうとしたが、Flatpakなのに ちゃんと動かなかった(「WebViewがクラッシュ」とかいうエラーの連続で表示できない)ので止めた。
- → Falkonには隠れたプロセス(QtWebEngineProcess)があり、それを合わせたメモリ使用量は約940MB(300+640MB)とFirefox(起動直後にtwitterを表示すると約1.1GB)と同様で わざわざ使う意味がないことが分かったので、twitterだけはFirefoxを使うことにした。 (2/20 18:58)
- Falkonが重かったのはQtWebEngineProcessのため かも知れない。
- その他のサイト・ページの日本語入力は、Twitterに比べれば問題ない。
- WordPressのクラシックエディタは、文字抜けはないが、未確定文字の下線(Fcitxを改造して出るようにした)が出たままになることがある。
- 「普通の」テキスト入力フィールドは問題なさそう。
- ツイートの入力で、文字抜けや順序の乱れだけでなく それまでに入れた文字列がすっぽりなくなることがある。
- [暫定対処] Ceron: スレッドを開くとハングすることがある。解決策が分からず、どうしたものか・・・
- マウスカーソルがブルブル震えて操作できなくなり、強制終了するしかなくなる。大丈夫なこともある。
- JSの動きの違い? ただ、検索しても出て来ない。 → 何かのアドオンが悪い?
- → 試しに、CeronではuBlock Originを無効にしたら、その後は起こらなくなった。たまたまか効いているのかは不明だが、これで使ってみる。 (2/17 5:51)
- Vivaldiには広告ブロック機能があるので、それを有効にしてCeron中の広告をブロックできている。
- → 試しに、CeronではuBlock Originを無効にしたら、その後は起こらなくなった。たまたまか効いているのかは不明だが、これで使ってみる。 (2/17 5:51)
- [Vivaldiの問題ではない] Impress watchの文字が太い。 ← ページのスタイル設定(CSS)が太字のため(ひどいデザインだと思う。とは言え、比較したITmediaも別の点で ひどい・・・)。それでもFirefoxが細いのは、「太字」(bold)に使う種類(weight?)が違うのかも知れない(逆に、太字なのに太く見えないのは どうかと思う)。
- 以下に、太字に設定しているソースを示す。
- Twitter: 日本語入力(Fcitx+Mozc)が駄目。
.news-headline-block ul>li { border-bottom: 1px dotted #aaaaaa; font-size: 81%; font-weight: bold; width: 100%; }
- Vivaldiでは若干フォントが違うように見えた。 (Impress watch)
- (Firefoxの場合)
- が、Vivaldiでも問題ない場合が多い。 (ITmedia)
- (Firefoxの場合)
- 時々挙動不審。。。
- 素がいいので、今後段々良くなるのを期待したい。
なお、実際に使用している時のVivaldiのメモリ使用量は、5ウインドウで約100個のタブを開いている(ただし、アドオンThe great suspenderで しばらく使っていないタブを休止させている)場合、例えば4-6GB程度と、Firefox(メモリリークしていない場合)の時と大差ない。
そして、Firefoxと同様にメモリ使用量10GBで警告を出すようにしているが、普通に使っていて まだ出ていないから良さそうだ。Chrome系は随分省メモリになったものだ。と書いたが、そうではなく、「Firefoxは随分大喰らいになったものだ」が正しい。
PS. 書いてから気付いたが、僕はFirefoxの前はVivaldiを使っていたので、約3年ぶりに戻った。なお、その前はFirefoxだったようなので、行ったり来たりだ。
(2/20 8:08 一部の書式を変更、わずかに加筆・修正)