Firefox 3の開発者のひとりであるVladimir Vukicevic氏は2月28日(カナダ時間)、自身のブログにおいてFinding the OS X Turbo Buttonのタイトルのもときわめて興味深い技術調査結果を報告している。場合によってはMac OS X向けに公開されるFirefox 3の実行速度、とくに描画処理がすばらしく向上するかもしれない。
これまでMac OS X向けにビルドされたFirefox 3はスクロール処理が遅いという問題が指摘されていた。Firefox 2と比較した場合、スクロール関連の計測でだいたい50%から500%も遅く動作することが確認されていたという。しかしながらグラフィックレイヤの定石に従うならばFirefox 3はより高速に動作しても遅くなる道理はないという。
同氏は調査を続け、最終的にADC - Technical Note TN2133に記載されているCoalesced Updatesが問題の原因であることを発見。Firefox 2がこの影響を受けなかったのはFirefox 2がCarbonアプリケーションであったためで、Cocoaで開発されたFirefox 3のみが影響を受けていたことがわかったという。Coalesced Updatesを無効にすれば同問題を回避できることも明らかになった(ただし問題対応された10.4.4以降のみで対処可能)。
興味深いのはここからだ。同氏はCoalesced Updates問題を発見し、個々のアプリケーションで同機能を無効にする方法を調査している間に、Safari/WebKitが同問題の影響を受けていないことに気がついたという。同アプリケーションのソースコードを調べていったところCoalesced Updatesを無効化している気配がなく、かわりにWKDisableCGDeferredUpdates();といったWK*()の関数を使っていることがわかったとされている。
WK*()系の関数はドキュメント化されていない。どうやらWebKitからのみ使われるOSに隠蔽された機能がいくつかあるようで、WK*()系の関数はそうした機能のひとつのようだ。Appleのアプリケーションに利益をもたらすために隠蔽されているわけではなく、ライセンスの関係上ドキュメントやソースコードを公開できない部分ではないかとみられる。またWK*()系を使っているからSafariが高速に動作するというわけでもないようだ。同機能をリンクした場合のライセンス上の問題が明らかではないためFirefox 3においてデフォルトで同機能が使われることはないとみられるが、研究対象としてはおもしろいところだ。
| 小規模ゲームスタジオが1日で100万ドル獲得 - クラウドソース型調達で [12:37 2/10] |
| あぁ俺の オタク川柳 予選落ち - 第7回「オタク川柳」投票受付を開始 [11:00 2/10] |
| Googleバーまたまた刷新、ロゴからのドロップダウンメニュー廃止 [10:50 2/10] |
| 地震への関心、再び高まる - 1月のTwitter利用動向 [10:21 2/10] |
| サイバーエージェントがアールフォース・エンターテインメントを子会社化 [09:56 2/10] |
|
[観月ありさ]濃姫役で戦国時代劇初挑戦 信長役は城田優 SPドラマ「濃姫」 [05:00 2/11] エンタメ |
|
【レポート】秋葉原アイテム巡り - 『幻想水滸伝』シリーズ最新作や『GRAVITY DAZE』が発売! 冬アニメ注目のOP・EDテーマも続々リリース [05:00 2/11] ホビー |
|
激シブ!もう一度ゴルフ Ⅱ の魅力を味わってみませんか?【大阪オートメッセ2012】 [03:06 2/11] キャリア |
|
『ヘタリア』キャラソン、新シリーズが配信決定! [03:05 2/11] キャリア |
|
全国の温泉を擬人化したドラマCD、第1弾「草津」は櫻井孝宏さん! [03:05 2/11] キャリア |