つよくなるブログ

その場にとどまるためには、全力で走り続けなければならない

Firefox 爆速化プロジェクトの1つ Tab Warming を試してみた

10年ほど前は熱心な Firefox ユーザーで

タブとプラグインが便利なのと IE のブラウザシェアを奪っていくのが楽しみでよく使っていた.

Chrome が登場して(プラグライン入れまくりの) Firefox と比較して

サクサク動く Chrome は圧倒的な速さでシェアを奪っていた.

Google アカウントとの連携だったり, 開発周りのエクステンションなどで Chrome の方が充実してきて

いつしか Firefox を使わなくなっていた.

そんな Firefox が Quantum という爆速化プロジェクトを進めていると知り

"あのころの Firefox が返ってくる!" という思いを胸に試してみた.

Quantum Project とは?

Mozilla が進めている Firefox のブラウザエンジンの改良に伴う高速化プロジェクトで

以下の6つがサブプロジェクトとして存在する.

  • rust-bindgen

  • Quantum CSS

  • Quantum Render

  • Quantum Compositor

  • Quantum DOM

  • Quantum Flow

技術的には Servo という新しいブラウザエンジンを

安全性、速度、並行性の3つのゴールにフォーカスしたプログラミング言語 Rust で実装して

並行処理の性能向上とGPU負荷の軽減を行い

現行のブラウザエンジン Gecko に対して随時マージしていくといった内容.

Tab Warming とは?

タブの上にマウスを持ってくると, タブを切り替える前に描画が始まり(!)

実際にタブをクリックした時に表示される速度が速くなる機能.

振る舞いとしては表示が速すぎることでで話題になった https://dev.to/ で多用されていた

記事のタイトルにマウスをのせると内容がダウンロードされて, クリックしたらすぐ切り替わる

Service Worker のバックグラウンド実行と似ている.

Tab Warming の使い方

  1. Firefox で about:config にアクセス
  2. browser.tabs.remote.warmup.enabled で検索
  3. valuetrue にする

f:id:morugu:20180304084743p:plain

※バージョン59.0以降で利用可能.

所感

Tab Warming を有効にすると, 初回表示がとても速くなっているのが実感できた!

※検証用サイト https://mikeconley.ca/moz/wavey/

And in the event that we were wrong, and you weren’t interested in seeing the tab, we eventually throw the uploaded layers away.

タブの上にマウスを持ってきたがページが開かれなかった場合は破棄されるので

大量のタブを開いた場合でも全てがそのまま残るわけではなく, 考えられて作られているなと感じた.

おまけ

バージョン57から正式名称が Firefox から Firefox Quantum になった.

f:id:morugu:20180304084809p:plain

参考サイト

mikeconley.ca