| Автор |
Сообщение |
Сообщения: 14
Страна: Украина |
 04.08.2008 в 19:11
Здравствуйте !
Сразу к делу, суть задачи :
Сгенерировать яваскриптом ~ ***элемнтов div или td, всунуть их в страницу, при этом оставить браузер живим
Поиск результатов не дал, так же как и эксперименты.
Решаема ли задача ?
Спасибо за внимание с ув. Сергей.
|
Сообщения: 12
Страна: Украина |
 04.08.2008 в 19:49 [Отредактировано: 04.08.2008 в 19:50]
Интересный вопрос...
В общем у меня на слабой машинке больше ***уже тормозит. Всё от CPU зависит в основном  Используй AJAX, чтобы сразу готовый код грузить, или разбивай на отдельные страницы.
Хотя может и есть чисто JS решение
|
Сообщения: 56
Страна: Россия |
 04.08.2008 в 20:20
Мне больше интересно даже не как решить эту задачу, а для чего её нужно решать?
|
Сообщения: 14
Страна: Украина |
 04.08.2008 в 20:27
To ovs :
тормозить начинает не из-за создания такого количества элементов, а из-за их внедрения в тело документа ( браузер начинает сильно много ресов кушать ).
Аякс, Серверная часть не помогут, разбиение на страницы увы не подходит.
Думаю задача сводится к тому, что бы на яваскрипте каким-то методом ( возможно нестандартным ) создавать элементы гораздо меньшего размера ( как-то их урезать)) ), нежели при использовании стандартных методов создания. Возможно я ошибаюсь.
To Spree : а мне как раз наоборот как ее решить 
|
Сообщения: 8
Страна: Украина |
 04.08.2008 в 20:38
Любой шестимегабайтовый файл (это только теги 700 тысяч дивов) будет тормозить в браузере, если еще и JS прибавить... 
Так что такие масштабы необходимо переносить на серверную часть.
Если не секрет, скажите, пожалуйста, зачем Вам такие масштабы?
|
Сообщения: 261
Страна: Россия |
 04.08.2008 в 21:08
Цикл на 700 тысяч шагов)
куда проще
нагрузка все равно убийственная)
|
Сообщения: 12
Страна: Украина |
 04.08.2008 в 21:12
Цитата (-Caesar-):
тормозить начинает не из-за создания такого количества элементов, а из-за их внедрения в тело документа ( браузер начинает сильно много ресов кушать ).
Ну тут основной прикол именно в JS. Без него просто относительно долго грузится. В общем, на машинке MacBook Pro 2.6GHz 2Gb работает. Для цикла, который ***раз выводит: <div>Test</div>

|
Сообщения: 41
Страна: Украина |
 05.08.2008 в 00:13
Из идей, разве что создание всех элементов не одни махом за цикл в ***.. а подгружая постепенно с перекурами  Например через setTimeOut.. Т.е. в одном такте таймера подгружать не сильно много элементов, например 3000, чтобы браузер успевал в перекурах отвечать за запросы ОС. Но в любом случае, ресурсов при это скушается очень много. Тут действительно лучше бы на аяксе, подгружать только просматриваемую часть данных.
|
Сообщения: 209
Страна: Россия |
 05.08.2008 в 01:19
Вообще жуткая задача, у меня браузер не сразу очухался даже когда сгенерил. Результат измерения времени начала/конца выполнения:
2:19:15.609
2:19:57.312
делал "дедовским" innerHTML 
|
Сообщения: 50
Страна: Россия |
 05.08.2008 в 07:08
Если много вложенных, то попробуйте сделать с помощью DocumentFragment (http://webo.in/articles/habrahabr/55-fast-documentfragment/) - как раз добавление элементов в тело документа будет происходить быстрее
|
Сообщения: 14
Страна: Украина |
 05.08.2008 в 10:29
То Phoenix_Ukraine :
понимаю что для более четкого решения,
Вам необходимо знать цели задачи, но пока все же это секрет
то RUSYA :
перекуры пробовал очень разнообразные, все мимо ...
Цитата (franky): 2:19:15.609
2:19:57.312
) у меня он не очухивался, за статистику спс, учту.
Буду пробовать DocumentFragment.
|
Сообщения: 209
Страна: Россия |
 05.08.2008 в 15:58
Как попробуете - отпишитесь, очень интересно какой из подходов реализуемый. Если будет интерес - скину свой код.
Забыл пояснить свои эксперименты:
время - это начало/конец выполнения;
Опера;
Атлон 2.5, 1.5Гб ОЗУ.
|