06.09.2014, 22:38
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
DOM медленный?
Уже в нескольких местах читаю, мол дом медленный. А есть какой-то пример, где можно посмотреть, что DOM медленный?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
06.09.2014, 23:21
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Я веду к тому, что это экономия на спичках или действительно проблема? Т.к. я с подобным не сталкивался, то хотелось бы знать где и при каких условиях подобное может возникнуть?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
07.09.2014, 01:20
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
обычно такое возникает в циклах
|
|
07.09.2014, 01:28
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Сообщение от Gozar
|
Уже в нескольких местах читаю, мол дом медленный. А есть какой-то пример, где можно посмотреть, что DOM медленный?
|
Excel-like tables
|
|
07.09.2014, 08:11
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Есть задачи, но в большинстве случаев тормозит из-за кривых рук.
|
|
07.09.2014, 11:02
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от kobezzza
|
Есть задачи, но в большинстве случаев тормозит из-за кривых рук.
|
Это слишком абстрактно, чтобы о чем-то говорило.
Вот bes, привел пример: Если вставить десять тысяч и более строк(tr + td или что-там jq вставляет) посредством jq, то будут тормоза. Вот по подобной причине я так понял, что ONLYOFFICE™ сделан на канвасе и отрисовывает только нужную часть.
Хотелось бы всё таки примеры. Я с подобной проблемой не сталкивался, т.к никогда не выводил за 1 раз более тысячи-двух строк основанных на DOM, поэтому мне и интересны примеры.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
07.09.2014, 11:18
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Да море их: рисование сложных графиков и графов, игры, различные гриды.
Вот последний пример из моей практики: SPA приложение, переход по ссылке со страницы А на страницу Б: если делать в лоб удаление старого DOM и построение нового то очень часто видны "тормоза" - фриз страницы на 200-300 мс, что недопустимо, поэтому фреймворк дробит задачи очистки мусора и рендеринга на потоки и делает всё постепенно, т.е. также делает сам браузер, когда мы переходим по страницам, но в случае SPA это перекладывается на фреймворк.
В большинстве случаев тормоза вызваны не оптимальными изменениями и вставками в DOM, а также не оптимальной работы с событиями.
|
|
07.09.2014, 15:01
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от kobezzza
|
В большинстве случаев тормоза вызваны не оптимальными изменениями и вставками в DOM, а также не оптимальной работы с событиями.
|
есть такое дело. Например, такая ситуация:
object.isVisible = {Boolean};
в шаблоне в зависимости от флага показывается/скрывается элемент.
Флаг может меняться в ту или иную сторону, пока "не устаканится" Псевдо код
var i = 10;
while(--i) {
object.isVisible = Math.random() > 0.5;
}
Соответственно, если бы приложение рендерилось после каждого изменения, были бы жуткие лаги.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
07.09.2014, 15:31
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
nerv_,
Ты по анимацию? Её нужно оптимизировать.
Сообщение от kobezzza
|
переход по ссылке со страницы А на страницу Б: если делать в лоб удаление старого DOM и построение нового то очень часто видны "тормоза" - фриз страницы на 200-300 мс
|
A и Б - страницы рендерится с нуля? Насколько сложный в страницах DOM? В SPA может быть частичное изменение DOM, внутри одного раздела не обязательно рендирить страницу с нуля.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
07.09.2014, 15:33
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от kobezzza
|
не оптимальной работы с событиями.
|
Это ты про то, что лучше обработчик вешать на контейнер, а не на кучу вложенных элементов?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
|
|