nglayout.initialpaint.delay設定したら確かに体感的に早くなったけど...

描画の開始時間が早くなった分、再描画(再配置?)が発生して画面がうねうね動く(Reflowって言うの?)のでちょっと気持ち悪い。
MozillaZine Knowledge Base の情報から、このprefの働きをおおまかに理解したところによると...

  • Mozillaアプリケーション(この場合はFirefoxのこと)はHTMLを読み込むたびに読み込んだ分だけ描画していく仕組みになている。
  • しかし、HTMLの先頭部分には描画結果に影響を与えない情報がたくさんある
  • そこで、MozillaアプリケーションではHTMLの読み込みを開始して実際に描画を始めるまで「ちょっと待って」あげることにしている。
  • nglayout.initialpaint.delayでその待ち時間をコントロールできる(単位:ミリ秒)
  • このprefは初期状態では存在しない
  • デフォルトの待ち時間は250ミリ秒
  • この待ち時間を短くした場合、描画を開始するタイミングは早くなるが、描画を完了するまでの時間は長くなる。(Reflowが発生するため)

ちょっと微妙な感じ。でも早いのは気持ちがいいので、この設定でしばらく試してみる。

Vimperatorからだと以下のコマンドで遅延なし*1で描画が行われるようになる。

:set! nglayout.initialpaint.delay=0

*1:つまり遅延時間0ミリ秒