13.11.2011, 22:46
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от Kolyaj
|
Это что ж у вас за анимация такая, что банальное передвижение картинки тормозит?
|
Очень просто. копипастим куски говнокода со всех концов интернета.
Ни в коем сулчае не вникаем в то, как они работают.
исправляем до состояния "чтобы хоть работало"
Получаем то, что я выше описал: дилетантский говнокод, который тормозит на простейших операциях, если хоть чуть слабее железо ему дать
|
|
13.11.2011, 23:39
|
Новичок на форуме
|
|
Регистрация: 11.10.2011
Сообщений: 8
|
|
Сообщение от Gvozd
|
Когда ты на с++ двигаешь картинку, то ты двигаешь только ее.
когда ты делаешь это в браузере, то ее движение затрагивает также всех потомков
|
У меня на atom-е простенькие 3D игры не тормозят, а между прочим одна 3D модель содержит тысячи полигонов и десятки текстур и при изменении положния модели надо тоже их всех пересчитать. И я вас уверяю, это гораздо сложнее, чем перебрать DOM.
Насчет говнокода не надо. Этим вы показываете свою некомпетентность в вопросах производительности браузеров.
Вот вам пример - http://www.bkosborne.com/jquery-feature-carousel
Демо данной галереи тормозит на atom-e. Может быть конечно эту галерею тоже писали дилетанты из кусков кода. Если вы профессионал, напишите такую штуку, чтобы она не тормозила на процессоре 600Mhz, я вам денег дам. У меня как раз такой заказ и заказчик как раз хочет, чтобы сайт работал именно на планшетах. Вот вам и статистика. Это сейчас 90% заказчиков не знаю что такое планшет с процессором 600Mhz, а через пол года у каждого второго в ТЗ будет это прописано.
Последний раз редактировалось jimm88, 13.11.2011 в 23:43.
|
|
13.11.2011, 23:46
|
Аспирант
|
|
Регистрация: 11.11.2011
Сообщений: 96
|
|
Сообщение от jimm88
|
Опишу ситуацию, чтобы было понятнее: у меня на сайте есть анимация и другие подобные эффекты, реализованные с помощью JS. Но когда я открываю сайт на старых компьютерах, или на мобильных устройствах, эффекты начинают дико тормозить...
|
Проверьте код, изучите проблему изнутри.
Почитайте на досуге --
http://chikuyonok.ru/2010/11/optimization-story/
|
|
13.11.2011, 23:53
|
Новичок на форуме
|
|
Регистрация: 11.10.2011
Сообщений: 8
|
|
Сообщение от DjDiablo
|
Дури много, а тормозит именно рендеринг DOM.
|
Ну, допустим тормозит рендеринг DOM.
Но в галереи по ссылке из сообщения выше элементов в DOM-e не больше сотни, а я видел приложения под винду в которых тысячи и больше элементов (если вспомнить, то для винды каждая кнопка является отдельным окном или элементом) и ничего нигде не тормозит.
|
|
14.11.2011, 00:36
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от jimm88
|
Объясните тогда мне, как так получается, что моя прога на С++, которая перемещает jpeg-картинку по окну не тормозит на процессоре Atom, а ТАЖЕ САМАЯ jpeg картинка которую я перемещаю по окну с помощью JS в браузере тормозит.
|
Вы неправильно используете высокоуровневый API браузера.
Или показывайте код, чтобы убедиться, что проблема тут в языке, а не в том, что Вы не умеете на нём писать.
Сообщение от jimm88
|
скомпилировать JS в машинный код и запустить его в своем окне
|
http://ru.wikipedia.org/wiki/JIT
|
|
14.11.2011, 00:47
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
Вот небольшое демо,
в первом эксперименте цикл на 10 миллионов итераций цикла
в цикле идёт работа только с переменной.
во втором, цикл всего на 100 тысяч итераций. Но идёт работа с dom.
Почуствую разницу как говорится )
Первый эксперемент пройдёт за секунду, второй ждать несколько секунд придётся.
z=0;
for (var i=0;i<10000000;i++){
z=z+i;
};
alert("конец "+z);
z=0;
for (var i=0;i<100000;i++){
document.write("1");
z=z+i;
};
alert("конец второго эксперемента "+z);
Помоему очевидно, что работа с dom, самое слабое место в браузере, в плане скорости.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 14.11.2011 в 00:53.
|
|
14.11.2011, 00:55
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от DjDiablo
|
второй ждать несколько секунд придётся.
|
У меня ff вообще его тормознул))
|
|
14.11.2011, 01:04
|
|
Профессор
|
|
Регистрация: 15.02.2011
Сообщений: 471
|
|
Сообщение от trikadin
|
У меня ff вообще его тормознул))
|
+1 Эпик фейл, работа с DOM самое медленное место в браузере. Когда-то у меня было учебное задание - написать XML конструктор, я тогда реализовал его при помощи стандартных DOM функций, а другой парень сделал чисто на строках и у него работало в разы быстрее.
|
|
14.11.2011, 01:06
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от DreamTheater
|
а другой парень сделал чисто на строках и у него работало в разы быстрее.
|
Хах) Долой responseXML, даешь responseText!
|
|
14.11.2011, 01:25
|
Аспирант
|
|
Регистрация: 11.11.2011
Сообщений: 96
|
|
Сообщение от DjDiablo
|
Помоему очевидно, что работа с dom, самое слабое место в браузере, в плане скорости.
|
Чувак, поздравляю, ты сделал открытие! Сначала данные нужно аккумулировать, а потом записывать. Во всем виноват браузер и ДОМ-2, конечно.
П. с.: Аббревиатуры, кстати, пишутся с заглавных букв.
|
|
|
|