DOM медленный?
Уже в нескольких местах читаю, мол дом медленный. А есть какой-то пример, где можно посмотреть, что DOM медленный?
|
Я веду к тому, что это экономия на спичках или действительно проблема? Т.к. я с подобным не сталкивался, то хотелось бы знать где и при каких условиях подобное может возникнуть?
|
обычно такое возникает в циклах
|
Цитата:
|
Есть задачи, но в большинстве случаев тормозит из-за кривых рук.
|
Цитата:
Вот bes, привел пример: Если вставить десять тысяч и более строк(tr + td или что-там jq вставляет) посредством jq, то будут тормоза. Вот по подобной причине я так понял, что ONLYOFFICE™ сделан на канвасе и отрисовывает только нужную часть. Хотелось бы всё таки примеры. Я с подобной проблемой не сталкивался, т.к никогда не выводил за 1 раз более тысячи-двух строк основанных на DOM, поэтому мне и интересны примеры. |
Да море их: рисование сложных графиков и графов, игры, различные гриды.
Вот последний пример из моей практики: SPA приложение, переход по ссылке со страницы А на страницу Б: если делать в лоб удаление старого DOM и построение нового то очень часто видны "тормоза" - фриз страницы на 200-300 мс, что недопустимо, поэтому фреймворк дробит задачи очистки мусора и рендеринга на потоки и делает всё постепенно, т.е. также делает сам браузер, когда мы переходим по страницам, но в случае SPA это перекладывается на фреймворк. В большинстве случаев тормоза вызваны не оптимальными изменениями и вставками в DOM, а также не оптимальной работы с событиями. |
Цитата:
object.isVisible = {Boolean}; в шаблоне в зависимости от флага показывается/скрывается элемент. Флаг может меняться в ту или иную сторону, пока "не устаканится" :) Псевдо код var i = 10; while(--i) { object.isVisible = Math.random() > 0.5; } Соответственно, если бы приложение рендерилось после каждого изменения, были бы жуткие лаги. |
nerv_,
Ты по анимацию? Её нужно оптимизировать. Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 23:32. |