Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flash > Проблема со скоростью выполнения Flash-клипа в раз


Автор: SadMan 18.9.2010, 14:55
Скорость выполнения анимации  у браузеров Mozilla Firefox и Opera одинаковая (как просто в Flash Player'е), а в Internet Explorer и Chrom анимация работает значительно медленнее. (Под анимацыею имеется ввиду обычная сплывающая панель без использования AS)

С чем это может быть связано и как это исправить?

Автор: SoWa 18.9.2010, 21:18
Особенности браузеров и их работы с флеш-плееров.
Как этому помочь - облегчать флешку, уменьшать анимации. Например, много векторных объектов очень хорошо кушают ресурсы машины. Растрировать их можо, как вариант.

Автор: SadMan 19.9.2010, 14:53
Цитата(SoWa @ 18.9.2010,  21:18)
Особенности браузеров и их работы с флеш-плееров.
Как этому помочь - облегчать флешку, уменьшать анимации. Например, много векторных объектов очень хорошо кушают ресурсы машины. Растрировать их можо, как вариант.



Вы имеете ввиду Растрировать рисунки что используются в анимацыи? (кстати я попробувал убрать все рисунки з анимацыи заменив их на обычные фигуры из флещ, в результате все то самое( ) 

Автор: bars80080 19.9.2010, 16:16
Цитата(SadMan @  19.9.2010,  14:53 Найти цитируемый пост)
Вы имеете ввиду Растрировать рисунки что используются в анимацыи?

нет, он имел ввиду растрировать векторные объекты. к примеру, вы нарисовали звёздочку линиями и заливкой. это векторный объект, плеер каждый раз при работе с ним производит пересчёт координат каждой линии. векторы удобны для анимации и когда их немного.
однако, если таких объектов много и они имеют сложную структуру, то пересчёт на каждом кадре серьёзно замедлит систему. в случае сохранения этих векторных объектов неподвижно друг от друга, лучше их растрировать. (не помню какая команда. то ли to bitmap, то ли ещё какая). тогда все векторы станут единым рисунком


я как-то раз провёл в этом плане эксперимент. нарисовал сильно вытянутый зелёный треугольник - сосновую иголку. всего три узловых точки. превратил в клип. после чего накидал их несколько десятков их, сделав кисточку хвои. превратил в клип. затем накидал этих кисточек, создав ветку. превратил в клип. стал накидывать, чтобы получилась крона сосны. с третьей ветки комп стал тормозить. в итоге за полчаса я кое-как накидал достаточно веток для дерева. система это нагромождение переваривала по полминуты на каждое движение. растрировав всю крону в один рисунок я получил простой быстрый клип дерева. хотя от колебания кисточками на ветру пришлось отказаться

Автор: SadMan 19.9.2010, 20:51
Спасибо за помощь...Кажется что проблема в fps...Я тут вычитал что:

"увеличение количества кадров в секунду требует большей производительности компьютера, на котором исполняется анимация, и если ее не хватает, Flash сокращает частоту кадров. Поэтому, даже если мы установим fps равным 100, Flash будет исходить из возможностей, имеющихся для воспроизведения."

У меня количество кадров было 80 а fps 120 ..может в этом проблема...Я уменшил в 2 раза и то и другое и оно начало работать во всех браузера приблизительно одинаково...но немного с меншей скоростью чем я хотел...

Может у кого-нибуть есть какие-нибуть мысли по етом поводу (потому что как по мне ето не 100% выход с даной ситуацыи)?

P.S. И по поводу Растрировать объекты, в adobe AS 5 там есть cache as bitmap для мувиклипов, ето и есть растрирование?...

Автор: bars80080 19.9.2010, 22:10
Цитата(SadMan @  19.9.2010,  20:51 Найти цитируемый пост)
У меня количество кадров было 80 а fps 120

в смысле 80? вся длина анимации?

и как 120? fps - frame per second (кадров в секунду). человеческий глаз в принципе не способен видеть быстрее 24. зачем 120?
обычно для плавной анимации хватает 12 кадров секунду. если не верите, то попробуйте промотать по кадрам мультфильмы известных производителей. 

Автор: SadMan 24.9.2010, 22:10
Цитата(bars80080 @ 19.9.2010,  22:10)
в смысле 80? вся длина анимации?

и как 120? fps - frame per second (кадров в секунду). человеческий глаз в принципе не способен видеть быстрее 24. зачем 120?

Ну я незнаю, разве 80 кадров это вся длина анимации? Во флеш линейка кадров помоему длиннее smile Может я и ошибаюсь (Новичек я в этом)...А fps когда 24 стоит то  панель медленно выдвигается и прячется, а когда 120 (и это кажется максимальный порог, больше поставить нельзя) то быстрее....

Автор: bars80080 24.9.2010, 23:39
Цитата(SadMan @  24.9.2010,  22:10 Найти цитируемый пост)
Ну я незнаю, разве 80 кадров это вся длина анимации?

длина анимации - столько, сколько вы захотите. сейчас вы сказали:
Цитата(SadMan @  19.9.2010,  20:51 Найти цитируемый пост)
У меня количество кадров было 80

из чего следует вывод, что вся анимация у вас занимает 80 кадров. вы же сами это сказали


Цитата(SadMan @  24.9.2010,  22:10 Найти цитируемый пост)
А fps когда 24 стоит то  панель медленно выдвигается и прячется, а когда 120 (и это кажется максимальный порог, больше поставить нельзя) то быстрее.... 

дык, не базовым же параметром скорость задаётся. чтобы было быстрее, значит надо делать приращение в движении больше.
если у вас было задано приращение 1 пиксел на кадр, то надо задать 5 пикселов на кадр, чтобы скорость повысилась в 5 раз.
а fps вообще не трогать. один раз задать 24 или 12, в зависимости от нужной активности флэшки, и всё. не трогать более

Автор: SadMan 25.9.2010, 16:35
Цитата(bars80080 @ 24.9.2010,  23:39)
если у вас было задано приращение 1 пиксел на кадр, то надо задать 5 пикселов на кадр, чтобы скорость повысилась в 5 раз.

Но ведь плавность выдвижение панели при етом ухудшится, разви не так?

Автор: bars80080 25.9.2010, 22:27
Цитата(SadMan @  25.9.2010,  16:35 Найти цитируемый пост)
Но ведь плавность выдвижение панели при етом ухудшится, разви не так? 

конечно нет. ибо во-первых, человеческий глаз просто не увидит промежуточных стадий. это справедливо до 24 кадров в секунду. если меньше, то движение будет хуже
во-вторых, в зависимости от сложности описываемых процессов сам flash пропускает промежуточные стадии, если не справляется.

Автор: SadMan 25.9.2010, 23:57
Спасибо за помощь!!!)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)