Gecko Inside #1

ブラウザエンジンGeckoの中をハックする!
1
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Gecko Insideはじまったー。Web開発者のためのイベントじゃなくてブラウザ開発者のためのイベントだよー #geckoinside

2015-08-05 19:35:23
Mozilla Japan コミュニティ @mozillajp

第1回のGecko Inside、こちらで中継しています。Firefox や Firefox OS のエンジンである Gecko のマルチプロセス処理についてお話しします ow.ly/QvTJw #geckoinside

2015-08-05 19:36:07
dynamis (でゅなみす/レッサーパンダ) @dynamitter

フォントやアニメーションとかは半分以上日本で開発していたりするが、ブラウザはとても複雑で自分が開発しているところ以外は把握できていないので知識を共有するよ。まだブラウザ開発者じゃない人も、今日ブラウザ開発の楽しさを悟って開発者になってくれれば大丈夫! #geckoinside

2015-08-05 19:37:49
hATrayflood @hATrayflood

#geckoinside #もずでぶ 参加者全員にバグをディスパッチする会

2015-08-05 19:37:50
akihiko.KIgure @ic_lifewood

後頭部が映っている・・・・?! #geckoinside

2015-08-05 19:38:48
Masayoshi Wada @masawada

一体Mozilla Japanオフィスで何が起きているのか… #geckoinside

2015-08-05 19:39:30
akihiko.KIgure @ic_lifewood

@masawada Firefox や Firefox OS のエンジンである Gecko のマルチプロセス処理についてお話しします ow.ly/QvTJw #geckoinside

2015-08-05 19:40:35
dynamis (でゅなみす/レッサーパンダ) @dynamitter

マルチプロセスというのは長いのでe10sと呼んでいるプロセス分離については実はとても長い歴史がある。最初に導入されたのはFx3.6でプラグインプロセスの分離を行ったとき。FennecもMaemo時代からFx10まではContentプロセスを分離していた #geckoinside

2015-08-05 19:41:50
針金細工 @Wireworkes

Electrolysis略してe10s Firefox3.6の頃から実はプロジェクトは始まっていて プラグインプロセスの分離とかから手つけてった #geckoinside

2015-08-05 19:42:24
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Firefox OSもSystem=Chromeプロセスとそれ以外の各アプリで分かれている #geckoinside

2015-08-05 19:43:02
dynamis (でゅなみす/レッサーパンダ) @dynamitter

e10nについてはテストの中でもTalos=パフォーマンス自動テストでもいろいろ良いところと悪いところがある。Telemetry=実ユーザからのレポートによる調査データでも良いところと悪いところがあるが、全体的には良い方向になっている #geckoinside

2015-08-05 19:44:30
針金細工 @Wireworkes

clashした時(OOM→メモリ不足も含む)にメインプロセス・他のプロセスの保護 #geckoinside

2015-08-05 19:44:51
dynamis (でゅなみす/レッサーパンダ) @dynamitter

マルチコアCPUを効率的に使えることや、サンドボックス化ができることなどは明確な利点。全体でのメモリ使用量が増大する(Chromeがメモリ使用量大きい要因になってる)とかCPU性能を使い切れない点は課題(既にマルチスレッドで複数CPUは使ってる) #geckoinside

2015-08-05 19:46:15
針金細工 @Wireworkes

・全体でのメモリ使用量の増大 ・CPU性能を使い切れない などのデメリットも #geckoinside

2015-08-05 19:46:22
dynamis (でゅなみす/レッサーパンダ) @dynamitter

モバイルで導入を進めてきているのにデスクトップでできなかった原因の一つに、アドオンの互換性がある。アドオンはFirefox本体の挙動を直接書き換えるもので、Addon SDK使ってれば大丈夫にしているけどそれを使ってないアドオンはe10s向けに要修正 #geckoinside

2015-08-05 19:47:41
針金細工 @Wireworkes

まだ決定していないけど今年のどっかでchromeのextensionサポートするかも!? #geckoinside

2015-08-05 19:47:52
dynamis (でゅなみす/レッサーパンダ) @dynamitter

e10sでFirefoxブラウザ本体=ChromeのプロセスとWebページ=Contentのプロセスが分かれるとそれの両方を操作するアドオンを書くのはちょっと大変になる #geckoinside

2015-08-05 19:48:30
dynamis (でゅなみす/レッサーパンダ) @dynamitter

Chromeプロセス=従来のFirefox本体=XUL Main Window。e10sでは<xul:browser>中が別プロセスとして分離される #geckoinside

2015-08-05 19:49:47
dynamis (でゅなみす/レッサーパンダ) @dynamitter

e10sで起動する子プロセスは(歴史的理由で)plugin-containerというプロセスが起動する。現時点ではContentプロセスは複数起動されないがこれから。サンドボックス、分かるよね? #geckoinside

2015-08-05 19:50:48