アプリケーションでインターネット上の Web サイトを表示するために .NET WebBrowser Control (2.0) を使用しています。これは正常に動作します。残念ながら、これには大きな欠点がありました。速度です。私が知る限り、コントロールは非常に一貫して機能しますJavaScript では不十分です (sunspider では 6000 ミリ秒以上、IE10 では 150 ミリ秒)。これは、Maxthon ブラウザーの「レトロ」モード、最小限の動作例 (つまり、ブラウザーのみを含み、他のロジックを含まない単純なフォーム)、および Visual Studio の組み込みブラウザーを使用して検証することもできます。それらはすべて IE10 バージョンのコントロール (レジストリ経由で有効化) を使用しているため、理論的には同様のパフォーマンスが期待できるか、そう考えていました。ホストされたコントロールを使用する IE10 とプログラムの違いを Spy++ で調べると、Shell DocObject View の追加のラッパーである ShellEmbedding が見つかります。
http://imgur.com/csUDdaUは、DesktopGap のホストされた WebBrowser コントロールの下部にラッパーを示し、IE のブラウザー ウィンドウは上部に ShellEmbedding なしで表示できます。
これがパフォーマンスの低下の原因であると私は信じていますが、これを回避する方法も、これに関する適切な情報源もありません。これが私の質問につながります。
WebBrowser コントロールのパフォーマンスを高速化する方法はありますか?
これまでの主なアイデアは、ShellEmbedding を何らかの方法で削除し、Shell DocObject ビューを直接インスタンス化することでした (可能な場合)。GPU_RENDERING が有効で、IE10 モードがアクティブです ( http://msdn.microsoft.com/en-us/library/ee330731%28v=VS.85%29.aspx )。
また、CSS の扱いも IE より悪いようで、関係があるのかもしれません。
乾杯、
クロース