この件とはあんまり関係ない調べ物をしてて、こちらのサイト(kawama.jp)を読んで棚ぼただったお話。

処理の途中でブラウザに途中経過を送りつけてくれる便利な関数、ob_flush()およびflush()。
この人達はぜんぜん悪くないんだが、IEが「256バイト受信するまで表示しない」とかゆー仕様になってるらしい。

そういえば、現在の転送速度をモニタするで作ったスクリプト動かしたら、ある程度経つまで表示されなかったのを思いだしたので、早速試してみる。

速度表示のforループに入る前に、

for($i=0;$i<256;$i++){
    echo " ";
}

これを入れてやる。

今まで滞ってた前半の表示が最初からサクっと出るようになった。

改良後
改良前