Opera 9 を更に高速に
Opera の魅力の一つである「速さの秘密」に、キャッシュの巧妙な利用がある。しかしページによっては、再表示の際に JavaScript を組み合わせて InlineFrame 等の領域を再描画させる事がある。古典的ではない、そうした複雑なページへ対応するため、Opera 9 は 9.0 TP2 の頃から設定で 3 つの「履歴再描画モード」を備えている。
年末に上記で採り上げた設定を探してきてここに書いたら効果があったというトラックバックがあったので、今年の方針にしたがい*1、もう少し親切に再掲しておく。
この設定だが、まず基本的にはいじらない方が良い。初期設定が何のために新設された自動検出になっているかというと、これまでの方式では、いくつかのページで「戻る」操作を行った際に、再描画に不具合の出る可能性があったからだ。何の問題もないのに、Opera を遅くするような仕様変更がなされるはずはない。
したがって、設定を変更する事によって不具合が生じる可能性がある事を十分わきまえてもらいたい。それを理解せずに設定変更をした揚げ句、Opera ってやっぱりダメだねと断言するのは自業自得の愚行である。
公式文書の JavaScript and History Navigation から冒頭に挙げた点以外の要点を抜き出して解説してみる。
- 一旦 Opera が表示したページの、キャッシュに残った情報を利用して高速で再描画を行う従来から行ってきた仕組みを、
fast history navigation
と呼ぶ。 - Opera 9.0 テクニカル・プレビュー 2 版からは、このモードに加えて
compatible history navigation
と呼ぶ描画方式が組み込まれた。これは冒頭に記した、ページの一部をスクリプト等によって変化させるページの再描画に対応するためである。 - 現行の Opera 9 には、3 つの「履歴再描画モード」がある。その設定変更は opera:config#UserPrefs|HistoryNavigationMode から行う。
- ページの指定と Opera 側の指定の優先順位は、以下の通りである。
- 1 User JavaScript - 2 opera:config における設定 - 3 ページのスクリプト
- したがって通常の自動検出モードにしてある場合では、前項の順序でモード選択が行われる。