Flash Ripper RSS Readers

FAQ №006: Как сделать так, чтобы анимация не тормозила на слабых машинах

Вопрос:

"Скорость проигрывания клипа зависит от производительности компьютера. На скоростном компе скорость проигрывания клипа увеличивается, на слабеньком компе -- затормаживается. Кто как рассчитывает скорость прокрутки клипа? Я имею в виду мультяшку. А то на одном компе персонажи бегают как угорелые, на на другом -- ползут как черепахи:-)"

Для сложных анимаций требуется много процессорного времени. Поэтому, когда процессор слабый, анимация не успевает прорисовываться (просчитываться) и "тормозит".

Для решения этой проблемы используется обходной прием "синхронизирующий звук". Суть приема в состоит том, чтобы форсировать проигрывание путем переключениия флэш-фильма в "fps-оптимизированный" режим, а для этого в фильм вводится звук типа "stream". При проигрывании такой звук принуждает всю анимацию двигаться с частотой кадров, указанной в свойствах документа. "Обратной стороной медали" этого приема является то, что некоторые кадры не успевают просчитаться и выпадают из фильма, и картинка становится рваной за счет сохранения скорости -- увы, этот прием не делает процессор мощнее, а только синхронизирует время. Таким образом, чем слабее процессор, тем больше будет рваться кадр. Но FPS будет стабильным.

Чтобы воспользоваться этим приемом:

  1. Создай на главной Временной Шкале фильма слой и назови его "kicker layer";

  2. На этом слое создай статический текст, например, "kicker";

  3. Преврати этот текст в мувиклип, например, mcKicker;

  4. Редактируй мувиклип mcKicker:

  5. Добавь к нему кадров в количестве, вдвое превышающем значение частоты кадров фильма, например, если частота -- 31 FPS, то добавь 62 кадра;

  6. Создай внутри mcKicker новый слой и назови его "null sound";

  7. Импортируй в фильм короткий (например, 25 msec) звук тишины (логично назвать его "null.wav"). Единственное его назначение -- быть форсирующим проигрывание фильма звуком;

  8. Размести этот звук на слое "Sound", задай ему тип синхронизации "Stream" и в параметре Repeat укажи количество повторений таким образом, чтобы звук заполнил отведенное ему количество кадров (62) "внахлест".

Готово.

Теперь клип проигрывается c заданной скоростью, потому что он содержит в себе мувиклип mcKicker со стримовым звуком, форсирующим события фильма.

Также, теперь можно вставлять мувиклип mcKicker в любой фильм и таким образом форсировать его проигрывание.

Вот пример: использование техники Kicker Layer/Nullsound.

Исходный файл: Kicker Layer/Nullsound Example (262 Кб).

Писал Rost, 17 Февраль 2005 20:10

Найдены баги:

Оказывется для кого-то это еще является откровением ;)
Хотя для людей который кроме программного управления анимацией и звуком ничего не видели ... ;)

StreamSoul - 18 Февраль 2005 1:07

Ну что вы как дети маленькие :(

>>"Обратной стороной медали" этого приема является то, что некоторые кадры не успевают просчитаться и выпадают из фильма, и картинка становится рваной за счет сохранения скорости -- увы, этот прием не делает процессор мощнее, а только синхронизирует время. Таким образом, чем слабее процессор, тем больше будет рваться кадр. Но FPS будет стабильным.


FPS = Frames Per Second
колличество кадров в секунду как раз таки будет точно таким, каким было бы и без stream. И стабильным он будет только если процессор будет справляться или несправляться стабильно. :) А вот то что кадры будут пропускаться - это да, но к FPS это не имеет никакого отношения.
Кстати, в чём тут проблема, скажите мне пожалуйста? В играх этот принцип начал использваться сразу после выхода 386-х процессоров :) и до их пор... мы имеет "выпадающие" кадры в играх, которых наш "железный конь" "не тянет". И это не обратная сторона медали - это иденственный приемлемый вариант. История доказала :)

Евгений Тихомиров - 1 Март 2005 17:19

У меня (не только) например такой трюк приводит к тому, что первые 2-3 кадра показываются, а потом все замораживается...Без nullstream звука - вск Ок

ru - 14 Март 2005 12:15

А если анимация программная, как быть? Как написать скрип так, чтобы пока идет программная анимация, одновременно с ней шла и потоковая синхронизация? Было бы вообще здорово написать какую-то функцию doSyncFPS(targetMovie), которая бы синхронизировала FPS клипа targetMovie для разных машин с различной производительностью...

Kost@ - 17 Март 2005 23:38

Kosta писал:
>> Написать функцию doSyncFPS(targetMovie), которая бы синхронизировала FPS клипа targetMovie для машин с различной производительностью.

Идея отличная. Надо подумать...

Рост - 18 Март 2005 8:54



Это запись из категории 'FAQ'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)