Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Подвисание браузера (https://javascript.ru/forum/server/13119-podvisanie-brauzera.html)

vvo 16.11.2010 09:17

Подвисание браузера
 
Доброго времени суток
Постараюсь быть кратким
Через 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 +/- немного
Буду очень признателен даже не за решение проблемы, а за подсказку направления, в котором двигаться

Skipp 16.11.2010 10:26

О_0

SV0L0CH 16.11.2010 15:20

Цитата:

Сообщение от vvo
Первая мысль была о том, что браузер не справляется с таким большим кол-ом тегов <script>. Написал функцию, которая их периодически удаляет, т.е. таких тегов не накапливается более 1000. Результат не изменился.

Кто же так делает? Надо грузить код как текст и делать eval.
PS всё это приложение, похоже, надо переписывать с нуля :write:

ksa 16.11.2010 15:42

Цитата:

Сообщение от vvo
Все прекрасно работает. НО! Только если количество картинок - до 50-60 тысяч. Если запустить процесс с большим числом (190, 220, 350 тысяч), то на утро такая картина:
браузер подвисает.

Столько порнухи я никачал отродясь... :lol:

vvo 16.11.2010 20:00

Цитата:

Сообщение от SV0L0CH (Сообщение 79490)
Кто же так делает? Надо грузить код как текст и делать eval.
PS всё это приложение, похоже, надо переписывать с нуля :write:

Все переписывать, конечно не буду, но мысль Вашу понял - перепишу необходимый блок и посмотрю, что получится. Спасибо за совет.
Просто 3 месяца назад еще ничего не знал о веб-программировании

vvo 16.11.2010 20:03

Цитата:

Сообщение от ksa (Сообщение 79498)
Столько порнухи я никачал отродясь... :lol:

Острослов вы доморощенный, лучше бы чего дельного подсказали
А чтобы не было повода острить дальше - это генерация мозаичных географических карт. Отсюда и такие объемы

vvo 18.11.2010 09:02

Тема закрыта


Часовой пояс GMT +3, время: 20:51.