сколько отделения Вы можете иметь, прежде чем dom замедляется и становится нестабильным?

Я разрабатываю jQtouch приложение, и каждый запрос, сделанный через ajax, создает новое отделение в документе для загруженного содержания. Только единственное отделение показывают в любой момент.

Сколько отделения я могу иметь, прежде чем приложение начинает становиться безразличным и медленным?

У кого-либо есть какие-либо идеи об этом?

Править: Приложение для iPad, работающее на Safari, и это были бы меньше чем 1 000 отделений с очень простым содержанием

11
задан Slee 27 May 2010 в 18:05
поделиться

5 ответов

Если честно, если вам действительно нужен точный ответ на этот вопрос, вы можете пересмотреть свой дизайн.

Ни один из приведенных здесь ответов не будет правильным, так как он зависит от многих факторов, специфичных для вашего приложения. Например. тяжелое и слабое использование CSS, размер div, количество фактической визуализации графики, необходимое для каждого div, целевой браузер / платформа, количество прослушивателей событий DOM и т. д.

То, что вы можете, не означает, что вы должны! : -)

8
ответ дан 3 December 2019 в 02:19
поделиться

Как уже говорили другие, ответа на этот вопрос нет.

Однако, в этом докладе об API Google Maps версии 3 докладчик несколько раз упоминает число десять тысяч, как основной порог несчастья браузера.

http://code.google.com/apis/maps/documentation/javascript/

6
ответ дан 3 December 2019 в 02:19
поделиться

У меня были десятки тысяч, может быть даже сотни тысяч div'ов на экране одновременно. Производительность либо хорошая, либо плохая, в зависимости от:

Парсинг из HTML или динамическая генерация в JavaScript?

Парсинг из HTML означает, что у вас большой html-источник, и это может привести к зависанию браузеров. Сгенерированный на JS удивительно быстр, даже в Internet Explorer, который является самым медленным из всех браузеров для JS.

18
ответ дан 3 December 2019 в 02:19
поделиться

Без определения конкретной среды невозможно ответить на ваш вопрос.

И даже тогда все, что вам говорят, - всего лишь предположение. Вам необходимо провести собственное тестирование на реальных конфигурациях с различными браузерами и оборудованием. Вам также необходимо установить некоторые тесты производительности, чтобы решить, что вообще означает «слишком медленно».

1
ответ дан 3 December 2019 в 02:19
поделиться

Мне без проблем удалось добавить несколько тысяч div. Конечно, это зависит от того, что вы будете делать потом, и от объема памяти на клиентской машине. Все остальные в этом правы.

Как сказал Харпо, 10K, вероятно, хороший потолок. В свое время я заметил проблемы со скоростью, начиная примерно с 4К div, но с тех пор оборудование улучшилось.

И, как сказал Нил Н., добавление div-ов с помощью сценариев лучше, чем наличие огромного исходного кода HTML.

И, чтобы ответить на комментарий Харпо, один из способов «разбить его», чтобы JS не блокировал страницу и не выдавал ошибку «страница работает медленно», - это вызвать таймер в конце каждого «добавить div ", а таймер, в свою очередь, снова вызывает вашу функцию" добавить div ".

Теперь МОЙ вопрос: можно ли «раскрасить» так, чтобы не нужно было добавлять тысячи div? Это можно сделать с помощью тега canvas в некоторых браузерах, но я не думаю, что это возможно с VML (проект excanvas) в IE. Либо это? Я думаю, что VML «рисует», добавляя новые элементы в DOM, и в этот момент вы также можете использовать DIV, если только это не простая форма.

Можно ли изменить источник изображения с помощью сценария? (конечно, образ в DOM, а не исходный образ на сервере.)

0
ответ дан 3 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: