Google Chrome の鎧の隙間はどこにあるのでしょうか?
-
09-06-2019 - |
質問
Chrome でブラウジングしているときに、Gmail のような JavaScript を多用するサイトを含むページのレンダリングに関して、Chrome の応答が (ラップトップ上の IE や Firefox と比較して) 非常に高速であることに気づきました。
Chrome 上の Googlebook はこう言っています
- タブはスレッドではなくプロセス内でホストされます。
- JavaScript を解釈するのではなく、V8 エンジンを使用してコンパイルします。
- JavaScript を多用するアプリをサポートする新しい仮想マシンを導入
- 「隠しクラス遷移」を導入し、動的最適化を適用して処理を高速化します。
- 非効率的な「保守的なガベージ コレクション」スキームを、より正確なガベージ コレクション スキームに置き換えます。
- ブラウザ環境を管理するために独自のタスク スケジューラとメモリ マネージャーを導入します。
これらすべては非常によく知られているように聞こえますが、Microsoft は長い間このようなことを行ってきました。Windows OS、C++、C# などのコンパイラ、CLR など。
では、なぜ Microsoft や他のブラウザ ベンダーは Chrome のアプローチを採用しないのでしょうか?Chrome のアプローチに欠陥はありますか?そうでない場合、残りのブラウザ ベンダー コミュニティは Google のアプローチに気づいていないのでしょうか?
解決
Chrome のアプローチは作成が難しく、開発者による事前の考慮が必要です。IE と Firefox はどちらもタブごとのプロセス モデルへの移行を試みていますが、下位互換性のため、すぐには移行できません。Chrome はクリーンなレンダリング エンジン (WebKit) 上に構築されたまったく新しいブラウザーであるため、この方法で作成するのが簡単でした。
他のヒント
Web ページを表示するためのツールとしての Web ブラウザから、Web アプリケーション用に最適化されたツールへと移行しました。この初期リリースにはいくつかの欠陥があるかもしれませんが、それらはゲームを変えています。
IE8 はタブ モジュールごとに同様の個別のプロセスを使用しますが、タブごとに 1 つのプロセスを使用するのではなく、すべてのタブをプロセス プール全体に分散します。
@pix0r ですが、右下隅に小さな機能が追加され、テキスト ボックスを好きな方向に拡張できるようになりました。私はワイド ディスプレイを使用し、広い画面で入力することを好むので、これが気に入っています。
これは実際には WebKit の機能で、Chrome はそれを継承しているだけです。
事実上、これらの機能はすべて、Chrome が登場する以前の他のブラウザーに存在していました。IE8にはタブのプロセス分離がありました。Firefox / Safari には JavaScript のほとんどが含まれていました。ほとんどのブラウザは独自のメモリ管理を行っています。
Chrome には、アドオン/アプリケーションの互換性の問題により、他のブラウザに組み込むのが難しい独自の機能 (ハイパー制限されたレンダリング プロセスなど) がいくつかあります。
Chrome が目指している主な目的は、ミニマリズムと高パフォーマンスに対する極めてハードコアな焦点です。これらを競争上の利点として重視することで、この分野に魅力を感じるユーザーにアピールできます。
時間が経つにつれて、ブラウザーが互いに優位に立つよう努めるにつれて、機能が均質化していくのがわかると思います。
その間、私は依然として Chrome ではなく Firefox を使い続けています。その理由は単純です。Firefox は (i) 非営利であり、(ii) 巨大なアドオン コミュニティがあるからです。NoScript や AdBlockPlus などのアドオンは私にとってほぼ必須です。
Chrome の弱点の 1 つは、StackOverflow 上のこの忌まわしいテキストエリアが非常に小さいため、目が血が出るほどレンダリングされるという事実です。
Chrome の弱点の 1 つは、StackOverflow 上のこの忌まわしいテキストエリアが非常に小さいため、目が血が出るほどレンダリングされるという事実です。
うん。uservoice でこれについて言及しましたが、現在のサイズが明らかに webkit のデフォルトであるため、拒否されました。私が Chrome で試した他のすべてのサイトでは、コンテンツの作成にテキストボックスを使用していましたが、適切なサイズのフォントを使用できました。デフォルトは間違いなく機能しませんが、明らかにそれをオーバーライドする方法がいくつかあります。ジェフはこれを修正する必要があります!
編集:ジェフは親切にその方法を教えてくれました この問題を自分で解決してください.
@pix0r ですが、右下隅に小さな機能が追加され、テキスト ボックスを好きな方向に拡張できるようになりました。私はワイド ディスプレイを使用し、広い画面で入力することを好むので、これが気に入っています。
また、Google は Webkit の使用を除いて Chrome を完全にゼロから構築したため、古いコードを扱わなくて済むという利点があることも指摘したいと思いました。そしてもちろん、めちゃくちゃクールで賢い開発者もいます。
私が見つけた最大の欠点は、IE、FF、Opera と比較してプロキシ サポートが貧弱なことです。したがって、仕事ではほとんど役に立たず、ランダムにページをレンダリングし、プロキシの認証を要求し、他のプロキシがそれをシームレスに渡します。
とはいえ、私の家庭用マシンではうまく動作します。 OTT EULA 今すぐ使いたいと思います。
thing2k
Chrome の「欠点」の 1 つは、他のすべてのブラウザよりも多くのメモリを事前に使用することです。これは、すべての個別のタブ管理に関連するオーバーヘッドが原因であると推測しています。
ただし、開いてしばらく経つと、他のブラウザよりも多くのメモリを使用することはありません。
多くの企業は、「足を上げるために私たちができることは何ですか?」というゲームをしています。マーケティングは、競合他社よりも優れているために必要な機能のランドリーリストを作成します。プロジェクト管理では、プロジェクトが割り当てられた時間を超過することを恐れて、エンジニアがこれらの機能に固執するようにします...もちろんそうなります。このようなシステムには、全体像を大きく前進させる余地はあまりありません。製品やブラウザの段階的な改善はその結果です。
Microsoft の主なビジネスはリッチ環境 (GUI) アプリケーションであることに留意する必要があります。Web ツールはプラットフォームに依存しないため (主な製品を宣伝していないため)、彼らにとっては脅威です。
もちろん、IE チームはそのようなことを考えていたでしょうが...Microsoft が販売しているものがリッチ アプリケーション プラットフォームである場合、Microsoft は間違いなく IE に多額の資金を投資しません。