Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.11.2011, 22:46
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kolyaj
Это что ж у вас за анимация такая, что банальное передвижение картинки тормозит?
Очень просто. копипастим куски говнокода со всех концов интернета.
Ни в коем сулчае не вникаем в то, как они работают.
исправляем до состояния "чтобы хоть работало"
Получаем то, что я выше описал: дилетантский говнокод, который тормозит на простейших операциях, если хоть чуть слабее железо ему дать
Ответить с цитированием
  #12 (permalink)  
Старый 13.11.2011, 23:39
Новичок на форуме
Отправить личное сообщение для jimm88 Посмотреть профиль Найти все сообщения от jimm88
 
Регистрация: 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 (permalink)  
Старый 13.11.2011, 23:46
Аспирант
Отправить личное сообщение для observer Посмотреть профиль Найти все сообщения от observer
 
Регистрация: 11.11.2011
Сообщений: 96

Сообщение от jimm88 Посмотреть сообщение
Опишу ситуацию, чтобы было понятнее: у меня на сайте есть анимация и другие подобные эффекты, реализованные с помощью JS. Но когда я открываю сайт на старых компьютерах, или на мобильных устройствах, эффекты начинают дико тормозить...
Проверьте код, изучите проблему изнутри.

Почитайте на досуге --
http://chikuyonok.ru/2010/11/optimization-story/
Ответить с цитированием
  #14 (permalink)  
Старый 13.11.2011, 23:53
Новичок на форуме
Отправить личное сообщение для jimm88 Посмотреть профиль Найти все сообщения от jimm88
 
Регистрация: 11.10.2011
Сообщений: 8

Сообщение от DjDiablo Посмотреть сообщение
Дури много, а тормозит именно рендеринг DOM.
Ну, допустим тормозит рендеринг DOM.
Но в галереи по ссылке из сообщения выше элементов в DOM-e не больше сотни, а я видел приложения под винду в которых тысячи и больше элементов (если вспомнить, то для винды каждая кнопка является отдельным окном или элементом) и ничего нигде не тормозит.
Ответить с цитированием
  #15 (permalink)  
Старый 14.11.2011, 00:36
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от jimm88
Объясните тогда мне, как так получается, что моя прога на С++, которая перемещает jpeg-картинку по окну не тормозит на процессоре Atom, а ТАЖЕ САМАЯ jpeg картинка которую я перемещаю по окну с помощью JS в браузере тормозит.
Вы неправильно используете высокоуровневый API браузера.
Или показывайте код, чтобы убедиться, что проблема тут в языке, а не в том, что Вы не умеете на нём писать.

Сообщение от jimm88
скомпилировать JS в машинный код и запустить его в своем окне
http://ru.wikipedia.org/wiki/JIT
Ответить с цитированием
  #16 (permalink)  
Старый 14.11.2011, 00:47
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 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.
Ответить с цитированием
  #17 (permalink)  
Старый 14.11.2011, 00:55
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от DjDiablo
второй ждать несколько секунд придётся.
У меня ff вообще его тормознул))
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #18 (permalink)  
Старый 14.11.2011, 01:04
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

Сообщение от trikadin Посмотреть сообщение
У меня ff вообще его тормознул))
+1 Эпик фейл, работа с DOM самое медленное место в браузере. Когда-то у меня было учебное задание - написать XML конструктор, я тогда реализовал его при помощи стандартных DOM функций, а другой парень сделал чисто на строках и у него работало в разы быстрее.
Ответить с цитированием
  #19 (permalink)  
Старый 14.11.2011, 01:06
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от DreamTheater
а другой парень сделал чисто на строках и у него работало в разы быстрее.
Хах) Долой responseXML, даешь responseText!
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #20 (permalink)  
Старый 14.11.2011, 01:25
Аспирант
Отправить личное сообщение для observer Посмотреть профиль Найти все сообщения от observer
 
Регистрация: 11.11.2011
Сообщений: 96

Сообщение от DjDiablo
Помоему очевидно, что работа с dom, самое слабое место в браузере, в плане скорости.
Чувак, поздравляю, ты сделал открытие! Сначала данные нужно аккумулировать, а потом записывать. Во всем виноват браузер и ДОМ-2, конечно.

П. с.: Аббревиатуры, кстати, пишутся с заглавных букв.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
компиляция javascript в исполняемый exe-файл nik1985 Общие вопросы Javascript 39 18.01.2016 12:29
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24