Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.09.2014, 22:38
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

DOM медленный?
Уже в нескольких местах читаю, мол дом медленный. А есть какой-то пример, где можно посмотреть, что DOM медленный?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #2 (permalink)  
Старый 06.09.2014, 23:21
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Я веду к тому, что это экономия на спичках или действительно проблема? Т.к. я с подобным не сталкивался, то хотелось бы знать где и при каких условиях подобное может возникнуть?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #3 (permalink)  
Старый 07.09.2014, 01:20
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

обычно такое возникает в циклах
Ответить с цитированием
  #4 (permalink)  
Старый 07.09.2014, 01:28
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Gozar
Уже в нескольких местах читаю, мол дом медленный. А есть какой-то пример, где можно посмотреть, что DOM медленный?
Excel-like tables
Ответить с цитированием
  #5 (permalink)  
Старый 07.09.2014, 08:11
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Есть задачи, но в большинстве случаев тормозит из-за кривых рук.
__________________
kobezzza
code monkey
Ответить с цитированием
  #6 (permalink)  
Старый 07.09.2014, 11:02
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от kobezzza
Есть задачи, но в большинстве случаев тормозит из-за кривых рук.
Это слишком абстрактно, чтобы о чем-то говорило.

Вот bes, привел пример: Если вставить десять тысяч и более строк(tr + td или что-там jq вставляет) посредством jq, то будут тормоза. Вот по подобной причине я так понял, что ONLYOFFICE™ сделан на канвасе и отрисовывает только нужную часть.

Хотелось бы всё таки примеры. Я с подобной проблемой не сталкивался, т.к никогда не выводил за 1 раз более тысячи-двух строк основанных на DOM, поэтому мне и интересны примеры.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #7 (permalink)  
Старый 07.09.2014, 11:18
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Да море их: рисование сложных графиков и графов, игры, различные гриды.

Вот последний пример из моей практики: SPA приложение, переход по ссылке со страницы А на страницу Б: если делать в лоб удаление старого DOM и построение нового то очень часто видны "тормоза" - фриз страницы на 200-300 мс, что недопустимо, поэтому фреймворк дробит задачи очистки мусора и рендеринга на потоки и делает всё постепенно, т.е. также делает сам браузер, когда мы переходим по страницам, но в случае SPA это перекладывается на фреймворк.

В большинстве случаев тормоза вызваны не оптимальными изменениями и вставками в DOM, а также не оптимальной работы с событиями.
__________________
kobezzza
code monkey
Ответить с цитированием
  #8 (permalink)  
Старый 07.09.2014, 15:01
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от kobezzza
В большинстве случаев тормоза вызваны не оптимальными изменениями и вставками в DOM, а также не оптимальной работы с событиями.
есть такое дело. Например, такая ситуация:
object.isVisible = {Boolean};

в шаблоне в зависимости от флага показывается/скрывается элемент.
Флаг может меняться в ту или иную сторону, пока "не устаканится" Псевдо код
var i = 10; 
while(--i) {
    object.isVisible = Math.random() > 0.5;
}

Соответственно, если бы приложение рендерилось после каждого изменения, были бы жуткие лаги.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #9 (permalink)  
Старый 07.09.2014, 15:31
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

nerv_,
Ты по анимацию? Её нужно оптимизировать.

Сообщение от kobezzza
переход по ссылке со страницы А на страницу Б: если делать в лоб удаление старого DOM и построение нового то очень часто видны "тормоза" - фриз страницы на 200-300 мс
A и Б - страницы рендерится с нуля? Насколько сложный в страницах DOM? В SPA может быть частичное изменение DOM, внутри одного раздела не обязательно рендирить страницу с нуля.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #10 (permalink)  
Старый 07.09.2014, 15:33
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от kobezzza
не оптимальной работы с событиями.
Это ты про то, что лучше обработчик вешать на контейнер, а не на кучу вложенных элементов?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
новый элемент не добавляется в DOM kuchuluk Элементы интерфейса 5 30.05.2014 22:11
инициализация плагинов до вставки html-я в DOM FanAizu jQuery 3 19.01.2014 01:16
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Новый элемент отсутствует в DOM модели StrSprut jQuery 4 19.09.2011 12:50
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26