FxOS Gecko勉強会 その2
こんにちは、星影(@unsoluble_sugar)です。
12月19日に開催された「FxOS Gecko勉強会 その2 Mozillaオフィスでぬくぬく会」に参加してきました。
会場
会場は六本木にある「Mozilla Japan オフィス」さんです。
より大きな地図で Mozilla Japan アクセスマップ を表示
フォクすけサンタがお出迎え
かわいい。
発表内容
Moz2D(@makoto_kato)
gfx/の下の話… ここで各PF間の差異を吸収する… #fxos
— かっしー (@kassy_kz) 2013, 12月 19
エンジンが全く違うのでブラウザ間の違いが出る #fxos
— 星影 (@unsoluble_sugar) 2013, 12月 19
Core GraphicsはOSXのAPI、Direct2DはWindowsで使える2D API、CairoはGTK等で使われてる2D API、SkiaはAndroidやChromiumで使われてる2D APIでOpenGLバックエンド利用可能 #fxos
— かっしー (@kassy_kz) 2013, 12月 19
ブラウザが重いと感じる原因はメインスレッドで一杯やりすぎててそこに重い処理が入ると応答がなくなったりするから。いろんな処理をどんどん別スレッドに分離しているのが最近のブラウザの努力しているところ。OMTC等と言われるのはCompositingという処理のスレッド分離 #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
オープンソースになったGeckoエンジンをマルチプラットフォームで開発できるようにCairoでOS間の差異を吸収していた。最近は各プラットフォームのハードウェアアクセラレーションを上手く効かせやすいMoz2Dって新しい独自のAPIを定義してそいつに移行していっている #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
Canvasのパフォーマンスを上げていく上で、これまで使っていたCairoがボトルネックになっていたのでボトルネックにならない新しいAPIを使うように切り替えた #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
Draw/Composition, PathもGPUに任せる, Gradientはシェーダで, Glyph Rendering(フォント描画), Filter など全部GPUに任せられるようにしていくのがMoz2D #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
firefox -P <profile> -recording <URL> -recording-output output.ser ってコマンドラインオプション付き起動で描画結果を記録してPlayer2Dで確認できる #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
Graphics Hardware Blacklist: B2G/Gonkについては実装されていない(ちゃんとドライバの方のバグ直すから)。一部の端末でブラウザが遅くなるのはブラックリスト行きしている場合がある #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
CompositerはReflow(要素の追加削除やスタイル変更時に全体の再描画再計算が走る)の負荷を軽減するためのもの #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
LayersはCompositerの処理をPhotoshopみたいにレイヤに分割して、全体じゃなくてレイヤ内だけで処理を閉じて、各レイヤの合成はGPUに丸投げできるようにしているやつです #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
チャオズ状態だぜ… #fxos — 星影 (@unsoluble_sugar) 2013, 12月 19
Geckoは何者かGeckoはどこへ行くのか 非同期とか編(@saneyuki_s)
「Rustの薄い本が出ます。」 #fxos
— あんどろいどりんご@禁狩中 (@mstssk) 2013, 12月 19
ブラウザの処理フローについて、 1.リソースのパースロード 2.DOMツリーの構築 3.CSSセレクタのマッチング処理 4. レイアウト計算 5. 計算したレイアウトの描画 6.イベントに応じたJSの実行 →2に戻る #fxos
— かっしー (@kassy_kz) 2013, 12月 19
Firefoxの哀しみ ・Firefox(Desktop)はUIもGeckoが描画してる ・Firefox(Desktop)では、UIとコンテンツでスレッドが一緒 ・コンテンツのロックがUIをロックする #fxos
— 星影 (@unsoluble_sugar) 2013, 12月 19
Geckoのメインスレッドでページコンテンツの描画もUIの描画もいろいろしてて大変なのからどんどんUIスレッドの分離をしていってる。e10ns=Electrolysis(電気分解)はプロセス分離のプロジェクト #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
Off Main Thread Compositing (OMTC) and why it matters http://t.co/Q20GbiL4I4 で説明していることを中心に解説中 #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
Web Animationsについてはbrianさんの講演スライド見てね http://t.co/Hsdcgh7J1b #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
Firefox OSアドベントカレンダー http://t.co/QmnD2pnnyw の24日にまた詳しい説明書いてくれるらしい #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった(@aoi_nagatsuki)
ニューフレーズ「怨敵かっしー」 #fxos
— きさと (@rkisato) 2013, 12月 19
え?何の話? #fxos
— かっしー (@kassy_kz) 2013, 12月 19
.@aoi_nagatsuki さん宛てに質問リプライを投げるとブログで回答が書かれる仕組みらしい #fxos
— 星影 (@unsoluble_sugar) 2013, 12月 19
デバッグ情報付きのビルド http://t.co/u0W5gjrL9q #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
バックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだったけどパフォーマンス的にダメだから使えなくなってるだけで使えたのでバックグラウンドアプリの仕組みは意外と簡単でした(困惑 #fxos
— 星影 (@unsoluble_sugar) 2013, 12月 19
background_pageについて調べてメモしているページみっけ http://t.co/2XdbGeg3yR #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
JSが一定時間でkillされちゃう件は浅井さんに任されたようです #fxos
— meco300(ハピネス中毒) (@meco300) 2013, 12月 19
DOMイベントの処理については中野さんのスライドも見てね http://t.co/82CBqb6EaE #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
Firefox OS 日本語 IME 開発状況(@masap)
次のIMEのが聞きとうございました #fxos
— 水城珠洲 (@minashirosuzu) 2013, 12月 19
Keyboard APIがFirefox OS 1.3から導入。このAPIを使ってIMEを作る #fxos
— かっしー (@kassy_kz) 2013, 12月 19
FxOSの日本語IMEの話 何故入力例が「さてんるいこ」なのか #fxos
— あんどろいどりんご@禁狩中 (@mstssk) 2013, 12月 19
FxOS 1.3ではキーボードまわりの変更が大きく二つあった、が、その影響で日本語が打てなくなっちゃった #fxos
— meco300(ハピネス中毒) (@meco300) 2013, 12月 19
「日本語は使わせない!」という強い意図を感じる #fxos
— 星影 (@unsoluble_sugar) 2013, 12月 19
「さてんるいこ」しか入力できないキーボードww #fxos
— あんどろいどりんご@禁狩中 (@mstssk) 2013, 12月 19
「日本語キーボード動かないんだけど」 「日本語キーボード動かない?そうだよ!だからdisableにしてるんだ!」 「」 #fxos
— 星影 (@unsoluble_sugar) 2013, 12月 19
日本語入力の話を聞いているとperlのギークdan氏を何故か連想してしまう件。 #fxos
— @坊主五厘 (@ic_lifewood) 2013, 12月 19
バグ登録しまくってパッチ送ったりしてかろうじて日本語入力ができる状況まで復帰した #fxos
— dynamis (でゅなみす) (@dynamitter) 2013, 12月 19
日本語のIMEは独特で、なんでそういう挙動をさせるAPIが必要なのか、中の人にわかって貰えない #fxos
— あんどろいどりんご@禁狩中 (@mstssk) 2013, 12月 19
懇親会&LT
TechBoosterさんのコミケ宣伝
狐物語キタ━━━━(゚∀゚)━━━━ッ!! #FxOS pic.twitter.com/RvgLx0kIkE
— 星影 (@unsoluble_sugar) 2013, 12月 19
狐物語電子化きぼんぬ #fxos
— 水城珠洲 (@minashirosuzu) 2013, 12月 19
GeckoのLocal Storageについて調べてみた(にしむねあ)
攻撃コードを書いてみたw #fxos
— 水城珠洲 (@minashirosuzu) 2013, 12月 19
Geckoは何者かGeckoはどこへ行くのか 続き
この図はあかんやつや #fxos
— 星影 (@unsoluble_sugar) 2013, 12月 19
Togetter
当日のつぶやきをまとめました。
Firefox OS関連イベントの発表資料
これまでのFirefox OS関連イベントの発表資料はこちらにまとまっています。
Firefox OS Advent Calendar 2013
こちらもどうぞ。
コメント