加快 Ubuntu 上 Firefox 的速度...

新版的 Firefox 已經支援 Multi-processes 架構 (Electrolysis),但 Ubuntu 上會因為預設值的關係而被關閉,這篇文章就是講原因以及怎麼打開:「Enabling This Makes Firefox More Responsive On Ubuntu」。

由於大家都會裝一堆套件,看起來得用 Force Enable 這邊提到的方法打開,也就是手動在 about:config 內加入 browser.tabs.remote.force-enable,並設為 true

Firefox 的轉換還有很長一段時間要走...

Firefox 48 的 Electrolysis (e10s),多程序視窗

Firefox 的 Multi-process,也就是 Electrolysis,正式進入 Release 版了:「What’s Next for Multi-process Firefox」。

依照說明,會分成這幾個不同種類的 process:

Electrolysis child processes are currently in use for the following tasks within Firefox:

  • Legacy NPAPI plugin hosting
  • Media playback
  • Web content ('content processes')

Mozilla 給的這張圖則是 UI 與 Web Content 分離:

目前是設計成只有 1% 使用者會啟動,而如果你想要測試的話可以用 about:config 修改 browser.tabs.remote.autostart。不過只要有 extension 掛著,就不會啟動,像是這樣:

當我把 extension 全部關閉後:

所以短時間內應該也沒辦法測...

Firefox 48 將引入 Multi-process 模式

現在是 Firefox 47,也就是下個版本就會引入 Multi-process 模式了:「Firefox 48 finally enables Electrolysis for multi-process goodness」。

Multi-process 模式也就是 Electrolysis,這對權限的分離 (sandbox) 以及效能的提昇有著顯著的幫助:

Electrolysis functionality hosts, renders, or executes web related content in background child processes which communicate with the "parent" Firefox browser via various ipdl protocols. The two major advantages of this model are security and performance. Security improvements are accomplished through security sandboxing, performance improvements are born out of the fact that multiple processes better leverage available client computing power.

這算是個開頭,地基打出來以後,之後就可以拆更多東西到其他的 child process。