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においてデフォルトで同機能が使われることはないとみられるが、研究対象としてはおもしろいところだ。
| Google+アプリ、iOS版に続いてAndroid版も新UIに、独自機能も [16:25 5/25] |
| Googleウェブマスターツール、ナビゲーションやダッシュボード画面を変更 [14:43 5/25] |
| Instagramキラー!? Facebookがカメラアプリをリリース [10:44 5/25] |
| 楽天、マレーシア国内向けのオンラインモール事業に参入 [10:11 5/25] |
| グリー、最大153ヵ国にアプリ配信ができる「GREE Platform」の提供を開始 [09:45 5/25] |
|
[けいおん!]大学編に続き高校編も最終回 6月で“グランドフィナーレ” [00:30 5/28] ホビー |
|
Gカップグラドル柴小聖、新作は"お尻推し"「体がどんどん絞れてきてる!」 [22:00 5/27] エンタメ |
|
【インタビュー】真木よう子 - 年齢ごとに等身大の女優になりたい [21:30 5/27] エンタメ |
|
[リアル・スティール]DVDとBDセットがオリコンとTSUTAYAで初登場首位 特別映像も公開 [21:11 5/27] エンタメ |
|
ダムエー付録のトランプは54枚全てザク!安彦も大河原も [20:57 5/27] ホビー |