Подвисание браузера
Доброго времени суток
Постараюсь быть кратким
Через SRC видимого IFRAME запускается серверный PERL-скрипт, который сначала создает динамически HTML-страницу в IFRAME. Внутри BODY рисует прогресс-бар. Далее - основной цикл, в котором по GET запрашивается другой URL, откуда возвращаются бинарные данные и сохраняются в PNG-файл (картинка). После этого в IFRAME вбрасывается JS-код (<script>...код...</script>), обновляющий прогресс-бар (конечное число картинок заранее известно).
Все прекрасно работает. НО! Только если количество картинок - до 50-60 тысяч. Если запустить процесс с большим числом (190, 220, 350 тысяч), то на утро такая картина:
браузер подвисает. Периодически он оживает на долю секунды, обновляет прогресс-бар и снова - в аут. При этом серверный скрипт иногда полностью свой цикл отрабатывает (т.е. создает 220000 картинок), а иногда - нет.
Первая мысль была о том, что браузер не справляется с таким большим кол-ом тегов <script>. Написал функцию, которая их периодически удаляет, т.е. таких тегов не накапливается более 1000. Результат не изменился.
А вот если этот скрипт запустить консольно, не из браузера (APACHE не задействован) - то все "ОК".
Может кто-то сталкивался с подобным?
У меня Linux, FF 3.6.10, кеш отключен. На момент подвисания еще остается 400-500 КВ памяти
Да, и еще - какой бы величины работу не запускал (190, 220, 350 тысяч) - подвисание происходит на рубеже 85000 +/- немного
Буду очень признателен даже не за решение проблемы, а за подсказку направления, в котором двигаться
|