[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: setInterval + scroolTo <- тормозит в 2 раза.
inpost
Всё очень просто. Строчка №1:
charIntervalX = setInterval('charMoveX()',2)
Функция движет объект из одного края в другой. Передвижение такого вида:
char.div.style.left = char.X + 'px' - то есть смещает его от левого края.

Если я пишу много кода - всё норм. Добавляю scrollTo(x,0) - с 1 параметром - всё норм.
Если я совершаю скроллинг сразу по обоим осям: scrollTo(x,y) - в таком случае всё начинает ужасно тормозить. В 2-3 раза РЕЖЕ запускается функция charMoveX из setInterval.

Может кто сталкивался, знает проблему?



Спустя 37 минут, 12 секунд (16.05.2012 - 16:36) redreem написал(а):
ну как минимум нет смысла ставить delay менее 30.
скорее всего ты забиваешь очередь, поэтому и начинается торможение.
посмотри например ТУТ о таймере в JS

Спустя 4 минуты, 59 секунд (16.05.2012 - 16:41) redreem написал(а):
ну и вот например можеш посравнивать величину делея в моем аниматоре в разных браузерах - она адаптивная, т.е. меняется от степени загруженности очереди. выставь порядка 50 блоков (num:) и смотри на int:

http://animate.redreem.ru/

Спустя 21 секунда (16.05.2012 - 16:41) glock18 написал(а):
скорее всего зависит, либо от контента, либо от того, как вызывается скроллинг. scrollTo сам по себе не должен подобные проблемы вызывать

Спустя 1 минута, 39 секунд (16.05.2012 - 16:43) inpost написал(а):
таймер то да, если я тупо уменьшаю время - то он реже вызывается. То есть там всё нормально работает.
Мне нужно быстрое и плавное передвижение объекта, если ставлю хотя бы 10, то для сохранения скорости - приходится объект уже двигать не на 2, а на 6 пикселей! А это уже бред.

Спустя 1 минута, 6 секунд (16.05.2012 - 16:44) redreem написал(а):
а смысл? 30 кадров в сек => delay: 33ms

Спустя 32 секунды (16.05.2012 - 16:44) inpost написал(а):
redreem
При средней скорости видно, что блоки дёргаются, нет плавного движения.

Спустя 2 минуты, 5 секунд (16.05.2012 - 16:46) redreem написал(а):
степень плавности сильно зависит от самого DOM, например "плавность уменьшают" такие вещи как: float-блоки, полупрозрачные области и все, что заставит браузер перерисовать большое количество элементов.

Спустя 2 минуты, 33 секунды (16.05.2012 - 16:49) redreem написал(а):
сделай на странице 1 абсолютный див с солид бакграундом и проанимируй по нему второй такой же див (маленький) так же с солид заливкой - увидишь минимально-возможное "дергание". киношного качества анимации в html ты все равно не добьешся. моушн блюров и буферизации изображения в браузерах просто не предусмотрено smile.gif

Спустя 4 часа, 30 минут, 15 секунд (16.05.2012 - 21:19) bodja написал(а):
inpost
Быстрее всего работает бекграунд в диве.
Все остальное зависит от верстки и мух конкретного браузера.Сам мучался,плюнул, перешел на флеш.
Простая анимашка на JS еще норм,но как только идеш на выкрутасы- начинает тормозить сильно.
ЗЫ попробуйте еще задать fixed блоку.

Спустя 1 час, 11 минут, 26 секунд (16.05.2012 - 22:30) inpost написал(а):
bodja
А на флеше не замечал проблем с анимацией и т.д. и т.п.? Я вот сам думаю поучить флеш, но никак руки не дойдут.

Спустя 12 часов, 23 минуты, 12 секунд (17.05.2012 - 10:54) bodja написал(а):
inpost
Нагрузка на проц значительно меньше,оно и понятно,там движок на графику заточен.
Насчет кода проблемы,
сразу нужно начинать с ООП и курения встроенных и сторонних библиотек с обьектами,тоесть порог вхождения не для новичков.
Если говорить про AS3 то его разрабатывала таже контора ECMA поэтому похож на JS на 90%,
учить там особо и нечего.
Анимация AS3 такая же как и в JS ,тоесть ее нет,нужно цеплять либу,их полно.
Могу накалякать статью как на опенсорсных инсрументах собирать флеш ,тоесть чисто кодить,
правда у нас нет раздела для флеш,так бы уже давно выложил.
Можно еще просто рисовать банеры в флеш-редакторах,там вообже кодить не нужно,но есть другая проблема ,эти редакторы заточены под дизайнеров-аниматоров и на них кодить не очень удобно и понятно ,что-куда.

Спустя 9 минут, 43 секунды (17.05.2012 - 11:03) redreem написал(а):
bodja

да, выложи если не сложно, я отчасти на флеш косо смотрю, потому что

Цитата
редакторы заточены под дизайнеров-аниматоров и на них кодить не очень удобно и понятно ,что-куда.


а вот попробовать "ручками" - вдруг понравится smile.gif

Спустя 7 минут, 1 секунда (17.05.2012 - 11:10) bodja написал(а):
redreem
Ок ,ждем тогда пару дней.
Раскажу насколько тяжело вывести "Hello Word!" и при этом насколько потом легко сделать
например свой плеер.

Спустя 7 минут, 14 секунд (17.05.2012 - 11:18) redreem написал(а):
ок!


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.