Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Анимация больших изображений (https://javascript.ru/forum/jquery/35494-animaciya-bolshikh-izobrazhenijj.html)

_axl 12.02.2013 16:58

Анимация больших изображений
 
Пытаюсь сделать слайдер больших фотографий (примерно 1000х600пкс), через animate меняю свойство left. В Chrome все работает идеально, в Safari почти тоже, но в Фаере, Опере, ИЕ видны лаги. Что можно сделать, чтобы улучшить анимацию?

Что пробовал:
Делать картинки бекграундом у див и двигать див(интересно, что если див сделать по высоте 150пкс и скрыть overflow:hidden то лаги все равно есть).
Присваивать position: relative, absolute
Disaplay: inline-block
Добавил jquery.animate-enhanced который заменяет нативную jquery анимацию на css3 трансформации.

nerv_ 12.02.2013 17:15

многое зависит от железа, движка браузера
если это возможно, делай css анимации (говорят быстрее)

Deff 12.02.2013 17:38

Вроде как cyber занимался этим вопросом, масштабируя карту,

2. Вроде решается через установку одной картинки background(оm) в несколько узких div, -в каждом последующим картинка сдвинута на ширину div
В Типичной большой картинке рендицо по строкам, в дивах же по столбцам

3. Канвас

cyber 12.02.2013 17:49

Deff, у меня проблема была не много в другом, у меня везде идеально работало кроме хрома, там был один баг, при одновременно использование двух css свойств оно тормозило(щас уже не вспомню каких), в итоге я использовал js анимацию получилось не идеально, но более менее..
_axl, выложить код может по копаюсь(если время будет).

П.с я давно нечего не писал на js, щас приходиться заниматься другим языком.

_axl 12.02.2013 19:45

Вроде получилось решить установкой jQuery.fx.interval=1 и ускорением анимации. В Опере правда вроде все равно чуть подтупливает, но посчитаю это компенсацией, за то, что обошолся без flash :D

melky 12.02.2013 20:00

анимировать нормально этот тихий ужас вряд ли получится

попробуйте для начала проанимировать с использованием CSS3 Animations, при этом анимируя не свойство left, а свойство transform:translate(...)

анимации должны проигрываться с использованием графического ускорителя, что очень сильно влияет на плавность анимации (положительно).

сама картинка может стать размытой на момент перемещения.


Как другой вариант, можно использовать
Цитата:

Сообщение от Deff
3. Канвас

для сжатия изображения в более мелком разрешении, и анимировать уже его.


Часовой пояс GMT +3, время: 07:21.