IE11 DOMStorageが有効だとWebBrowser Controlが固まる(解決)
だいぶ前のversion 1.9.56(最新versionは1.9.62)で、IE11 DOMStorageが有効だとWebBrowser Controlが固まる - 不定期日記 は、原因を特定し対処を行い、固まり問題は出なくなっています。Anciaは、IE11をコンポで使用した際の固まり問題に対応している数少ないブラウザとなります。
こちらで特定した原因は、IE内部で保持するsession storage値がタブを開くたびに倍で増えていき、そのsession storage値分ループ処理が動き、これが固まりにつながります。
ie11 session(google document) storage
上は、再現動画(http://www.youtube.com/watch?v=0xACMTPPoM8)での増えていく値です。
1タブ目では1つの値が、2タブ目には2個、3タブ目には4個、4タブ目には8個、動画で固まった18タブ目には65536個となり、65536個分のループで長時間固まります。タブを開くごとに遅くなるという現象も、session storage値が倍で増え、その分ループ時間が増えるため、と説明できます。
恐らく、IEはマルチプロセスの関係で、新規タブプロセスにsession storageを引き継ぐ必要があり、開き元タブのsession storageを新規タブ側に渡しているのではと考えています。渡す先にsession storageが無ければ問題ないですが、もし、マルチスレッドやシングルスレッドで、すでにsession storageが存在する場合、開き元から引き継がれると、倍に増えることに、と内部動作を予想しています。
session storageの調べ方は、残念ながら非公開です。
この投稿を読む