HIRASE CONNECTION WK

programming collection

目次

Blog 利用状況

ニュース

書庫

日記カテゴリ

Link Collection

[雑記] Google Chrome の応答性へのこだわり

@IT に「Chromeはなぜ速いのか」という記事が出ています。インターネット ブラウザを作る上だけではないノウハウが満載なので、簡単にまとめておきます。→そんなことない?

Google Chrome の応答性へのこだわり

  1. プロセスは、大きく3種類のプロセスを生成する。
    1. ユーザー インタフェース
    2. レンダリング
    3. プラグイン
  2. 起動プロセスは、できるだけ簡潔に行う。
    1. 最初に読み込んでいるのは、chrome.exe と chrome.dll、設定ファイルだけ。ページのレンダリングに必要なモジュールやその他もろもろは後から非同期に読み込む。驚くべきことに、ネットワーク関連のモジュールさえも読み込んでいない。
  3. ユーザーがアクセスするプロセスからのディスク I/O は一切禁止。
    • 「名前を付けて保存」さえも別プロセス。
  4. 子ウィンドウを作らせない。
    • 子ウィンドウがあると、Windows メッセージの仕組み上、どこかのウィンドウで処理がもたつくと、全体の応答性が低下してしまう。
  5. レンダリング プロセスは本体ウィンドウへの描画を間接的に行う。
    • いったん裏画面へ描画し、表画面へ転送する(もちろん必要に応じて、だと思う)。
  6. Chrome ブラウザは、フィッシングサイト対策のために URL リストを保持するが、URL そのものではなく、SHA-256 値を持っている。
    • しかも、SHA-256 値は、256 bit のうち先頭の 32 bit だけである(32bit がヒットしたら、Google のサーバーから本当に疑わしい URL なのかを確認しにいく)。
  7. URL → IP アドレスへの変換(DNSによる名前解決)をユーザーからの命令(クリックなど)が来るまでもなくやってしまう(AJAX的だ)。

応答性へこだわる理由

  1. 当初のわれわれのGoogle Chromeの目標は、このブラウザをできるだけ速くすることだった。しかし、生の速度(raw speed)に加えて高い応答性を持つようにしたかった。結局のところ、ページがいくら速くロードできたって、ユーザーインターフェイスが固まったら意味がないんだから! (But in addition to raw speed, we wanted it to be highly responsive. After all, it doesn't matter how fast pages can be loaded if the user interface is locked up!)
  2. 0.5秒の遅延でユーザー離れしてしまう。

その他

  1. ユーザーをないがしろにしないこと (not to maltreat users)
  2. 裏でできる限りのことをやろう
  3. コード変更のたびに、「自動ビルド→自動テスト→自動パフォーマンス計測」され、パフォーマンスが悪くなるようなコード変更は許さない。

以上

追記@2008-12-24T08:53

そういや最近、自分が書く GUI のツールは、「コンソール呼び出し」が多くなってきました。コンソール呼び出しの場合、UI スレッドとは完全に分離されているので応答性が良いですし、結構 Chrome さんに似ている感じになっています。ま、でも呼び出す先のプロセスはひとつのコンソールなんで、Chrome さんのように、レンダリングプロセス、プラグインプロセスのようにヘテロジニアスな感じではないですが。ま、似てますね。

投稿日時 : 2008年12月24日 8:41

コメントを追加

# re: [雑記] Google Chrome の応答性へのこだわり 2008/12/24 11:12 Chuki

なんか、上記仕様を見ていると、広告収入に頼ってるGoogleの姿が如実に表れていて面白いですね^^。

>子ウィンドウを作らせない
他言語対応大丈夫!? とか

>ユーザーインターフェイスが固まったら意味がないんだから
全てのレンダリングが終わるまでUIを触らせないようなロジック組むことだってあるのに...とか

思ってしまいました^^;

#ブラウザは表示装置なんだから、色々なタイプが増えてきて嬉しい今日この頃。

# re: [雑記] Google Chrome の応答性へのこだわり 2008/12/24 15:51 倉田 有大

あれ、書き込んだはずなのに消えてる;_;

Google Chrome は、マウスジェスチャー機能にまだ対応してませんよね?
したら、FireFoxのいい対抗馬になりそう

# re: [雑記] Google Chrome の応答性へのこだわり 2008/12/24 23:38 T.Hirase

コメントありがとうございます。

TO: Chukiさま。
他言語問題は何とでもなりそうですが、「UIを触れる」ことと「UIが固まる」ことはちょっと違うと思います。UIを触れなくする場合は、単に操作できないだけで「あと??秒お待ちください」と表示はした方がいいです。この場合、「??秒」をカウントダウンさせることで「UIは固まらない」ことになります。

TO: 倉田さま。
あら、消えてましたか。一度、追記したときに消えた・・・とかはないと思うので、きっとたまたまでしょう。
マウスジェスチャー、ないですね。まぁ、Firefoxも素の状態だとないですから、Chrome のアドオンが増えてくれば自然と対応されるのではないでしょうか。
それより、レンダリングの不具合がまだまだ多くみられますし、mac 版もないですし、やることは数多くありそうです。

# EbKPIcBIqmlaidqmPLa 2011/12/29 19:14 http://www.drpersky.com/treatments/rhinoplasty-los

Yet, much is unclear. Could you describe in more details!...

# twfoHdWqxmUrDaTGvqb 2012/03/06 23:23 http://www.youtube.com/watch?v=OKn-6nSMRDU&amp

52. "The road will be overcome by that person, who goes." I wish you never stopped and be creative - forever..!

# lBynAEEMtVJbuDEgdi 2012/03/06 23:28 http://www.youtube.com/watch?v=FA4UFgbeG9U&amp

The author deserves for the monument:D

# ArfzCjpoWYqC 2012/03/06 23:34 http://www.youtube.com/watch?v=FA4UFgbeG9U&amp

Heartfelt thanks..!

# JkMShnfBlJTUIa 2012/03/07 0:18 http://drivingtraffic.com/renegade-millionaire-bon

Right from this article begin to read this blog. Plus a subscriber:D

# QGkHQALCVQRYitu 2012/03/07 1:22 http://thekratomcompany.com

Honestly, not bad news!...

# mgwSywQVkvJ 2012/03/07 1:28 http://5dx.ca

Of course, I understand a little about this post but will try cope with it!!...

# DZoHjLtWvihpWK 2012/03/07 1:37 http://www.perfectgiftgenerator.com

Can be also this issue because the truth can be achieved only in a dispute :D

# KRftdIYIma 2012/03/07 1:54 http://www.slideboom.com/presentations/462900/High

Thanks:) Cool topic, write more often! You manage with it perfctly:D

# yaiuNQFGgM 2012/03/07 2:08 http://www.banish-tinnitus.com

Last a few years has been to Ibiza, so met a person there whose style of presentation is very similar to yours. But, unfortunately, that person is too far from the Internet!...

# NwqLvjWjzEktF 2012/03/07 2:17 http://www.youtube.com/watch?v=p8CaYN6a9PM

See it for the first time!!...

# dKXDuJjRVZzw 2012/03/07 2:44 http://www.cheapluxuryholidays.org.uk/

Author, Shoot yourself a knee..!

# yTlQVKvcKifNTEB 2012/03/07 3:48 http://www.nashwarren.co.uk/car-insurance/cheap-ca

This article is for professionals..!

# jaBeApsRrNqfYLlUPr 2012/03/07 4:07 http://www.spyequipmentuk.co.uk/

Comrade kill yourself.

# UeLMaccYAMvGdOH 2012/03/07 4:44 http://www.beauty-haircare.co.uk/

Heartfelt thanks..!

# kfQsYPoJbr 2012/03/07 5:00 http://uhaul-coupons.org

Totally agree with you, about a week ago wrote about the same in my blog..!

# tcKvjiSnMHTsdDqKmqn 2012/03/07 9:30 http://www.allaspectsuk.co.uk/location/west-midlan

Good! Wish everybody wrote so:D

# iGRpfyZCUhcKX 2012/03/08 3:12 http://articles.pubarticles.com/8-reasons-to-start

Scribbler, give me a student's record-book!)))

# moncler outlet store 2012/12/07 19:39 http://www.moncleroutletstore.eu/

detail of the operation: its name. "Do you want your grandchildren to say you were in Blue Spoon?" he asked. (... then) General Kelly discussed

# fmiqjdnfutcw 2013/03/24 11:58 is this a themeforest theme? lmkcsusabp <a hre

ttsezfkwqlpx

# pocknpginsfp 2013/03/25 18:39 did you purchase this theme? jvhtldlmie <a hre

ggwfujizuyik

# sac michael kors 2013/03/26 7:14 http://sacmichaelkorsmontre.webnode.fr/

Adding this to twitter great info. sac michael kors http://sacmichaelkorsmontre.webnode.fr/

# pzdlpcpmhoic 2013/03/29 9:33 woah, magnificent site thanks bqepvfgjfz <a hr

fvptffjxlzrg

タイトル
名前
URL
コメント