![]() |
когда тормозят анимации
Привет.
Я столкнулся с одной проблемой: у меня три анимации на одной сцене, когда вывожу две - все ровно, но если я добавляю третью - анимации начинают притормаживать и воспроизводятся то нормально, то медленно. В итоге получается не очень красивое зрелище. вес файла около 65 kb. количество fps - 120. Подскажите пожалуйста где можно найти ответ на эту проблему. Я не программист и анимации делал анимационно. Слышал что можно убирать режим времени, но как и поможет ли это в данной ситуации - не знаю. Заранее спасибо. |
не реальный fps
|
Ставьте 31 кадр в сек. Это волшебное число.
|
Юрчик, а у тебя Oblivion 120 fps показывает?
|
Цитата:
|
поставил 31- чудеса:umnik2: :umnik2: :umnik2:
Все ровно, но почему??? теоретически не не должно быть так:eek: |
Вам же написали: "Это волшебное число"
По поиску на эту тему не пробовали искать? З.Ы.: Oblivion - это ES4 игра такая :) |
Цитата:
|
Цитата:
|
А почему именно 31? )) А не 30?
30 - число круглое, и во многих видео стандартах эта цифра присутствует |
Причем тут флеш и видео-стандарт?
|
подумай
|
Не вижу связи. Флеш это флеш, видео — это видео.
|
http://flash-ripper.com/archives/000851.php - статья называется "Волшебная Частота, 21 и 31 FPS"
|
А как быть если магическое число 31 на сработало??? Конкрентно меня интересует, как можно оптимизировать графику в целом(по поиску ничего конкретного не нашёл)?
|
Уменьшить количество прозрачности, узловых точек и вообще уменьшить количество одновременно отображаемых объектов, использовать cacheAsBitmap, а также перевод некоторой векторной графики в растровую.
|
А что такое cacheAsBitmap?Опять же в поиске нашёл, что некорорые советуют его включить, а как и что это никто не говорит...
У меня ещё такой вопрос. Есть клип(вмоём случае это карта города), в клипе несколько слоёв(дороги, дома, леса и т.д.). Все эти "элементы" у меня в виде графики, причём её я обрисовывал сам, и если я правильно понимаю всю суть - это вектор. Можно ли преобразовать её в растр? |
Про cacheAsBitmap исчерпывающая информация в документации к Flash 8.
По второму вопросу: да, можно либо внешним редактором, либо опять же, включить использование кеширования в битмап (объект будет преобразовываться в битмап налету, только для карты данный момент метод врядли подойдет). |
хорошо, поробую разобраться. Большое спасибо за совет!
|
Вот пример из хелпа:
Код:
function clickBtn():Void { |
В хелпе такого примера нет.
Изучаем: http://livedocs.adobe.com/flash/9.0/main/00001899.html |
Вроде бы разобрался и в свой код:
Код:
public function Navigator() {Код:
public function Navigator() {по поводу примера он у меня тут лежит : boot drive\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\CacheBitmap. |
Так надо читать справку!
Зачем объявлять onLoad в конструкторе? Вы же не на AS1 пишете, так ведь? Объявите метод onLoad, как полагается. А в конце добавить: Код:
this.cacheAsBitmap = true; |
БОЛЬШОЕ ВАМ СПАСИБО!!!!!!!!!!!!!!!! всё заработало просто идеально!!!! Вы просто спасли меня!!!!
|
Цитата:
Цитата:
Ну и очень порадовала фраза: "Ответ заключается в том, что значение частоты кадров, FPS, хранится в числе с плавающей запятой формата "16/16" (можно также встретить обозначение "16.16"). В таком числе 16 бит отводится под целую часть, и 16 бит -- под дробную." Вроде ясно становится что человек не понимает то о чем говорит. Если ошибаюсь - поправьте меня. |
k0zer, тебя же не смущает то, что при 30 фпс в 3D игры играть невозможно? Здесь нельзя делать обобщений, не кино смотрим. Уж тем более, никогда про 30 не слышал. Слышал про 21, 24, 25, 31, остальное — нет.
Если религия не позволяет, пользуйся 30, не заставляем. Вести разговоры на тему, что 31 есть правильно я не буду, потому что лень и уже говорили на эту тему. |
PAL/SECAM - 25 кадров (Европа)
NTSC - 30 кадров (АМЕРИКА/АЗИЯ) Но каждый кадр формируется из двух полукадров, поэтому часть общего изображения меняется чаще - 50 и 60 полукадров в секунду. Но речь идет о телевиденье, где частота фиксирована. На мониторах все происходит по другому. Поэтому k0zer не понимает о чем говорит. swf хранит в себе информацию о частоте смене кадров, но хранит не фпс, а время отводимое на каждый кадр, то есть фпс 30 записывается как 1000/30 = 33,3(3). Как видим 33,3(3) дробное число и оно записывается в формате 16.16 и дробная часть получается не точной и и при переводе в фпс со временем накапливается ошибка которая дают скачки в плавной анимации. При частоте фпс 21 и 31, это ошибка минимальна и скачок менее заметен. |
>>k0zer, тебя же не смущает то, что при 30 фпс в 3D игры играть невозможно?
30 - NTSC (по-моему), плюс чересстрочная 60 )) Не смущает, я сам это знаю и даже догадываюсь почему )). Кстати смотря какая игра, если КС то и на 30 не страшно. А если Ку3 то для комфорта мин для 120 )). Я религиозные войны вести не люблю и не собираюсь. Я даже верю, что 31 это хорошо и всегда ее ставлю последнее время. Но в той статье что дал _bkt по-моему фигня написана, а не обьяснение. Если не очень лень, был бы признателен получить ссылку на то, где говорили на эту тему. |
Ах да, NTSC. Ну не в счет, в общем-то.
А ссылочки в поиске надыбать можно, правда-правда. |
Цитата:
|
Цитата:
Я понимаю, что модераторов достают одни и теже вопросы, по-этому предпочитаю поиском пользоваться. |
Цитата:
|
Цитата:
Мне кстати понравилось ещё, цитирую: "преобразовываем в hex со отбрасыванием дробной части, получаем 41.(6)=29h преобразовываем обратно 29h=41". Зачем преобразовывать в 16рич? у десятич. дробную часть не отбросить? )) В компе все-равно все двоичное, вобщем не понял я. )) А где-нибудь почитать об этом можно, что намного сложнее? Ну или если можно здесь высказать. |
31 кадр\сек - стандарт американского телевидения.
|
Цитата:
30! |
хм.. ну раз википедия говорит 30, значит 30... сорри. пропустил страницу, сейчас перечитал. Я думаю, еще потому что 31 - простое число, и точно не будет дискретности. В смысле, не получится так, что каждый тик (несколько тиков) экрана м видим одну картинку, а за ней другую сразу же. А вместо этого произойдет частичная смена на предыдущем и следующем тике - но это только мои предположения, ни чем не подтвержденные %)
|
А вот такой флэш-информер есть:
http://ubp.com.ua/xml/n-inf-b.swf Представляет из себя зацикленную бегущую строку с заголовками новостей и картинками к ним, подгружаемыми из формируемого PHP-скриптом XML-файла. Никак не получается побороть "скачки" текстовых и графических блоков. Пробовал и cacheAsBitmap (хотя подтягиваемые картинки по сути и являются этими самыми Битмапами), и fps ставил как в 31 так и в 21 кадр ... Ставил даже, ради эксперимента, от "1" до "31" кадра. Скорость - меняется, скачки - остаются) =( Быть может кто-то сталкивался с подобной проблемой при воспроизведении роликов с динамически подгружаемыми данными?.. P.S. По ссылке, напрямую, флэшка может не грузить заголовки/картинки, а вот на главной > http://ubp.com.ua/ < проблема проявляет себя в полной красе ... [update : 4.02.08 // 18:00] Методом установки счётчика кадров выяснился интересный факт: установленный fps реально не дотягивает до выдаваемого результата. Совпадение происходит только при установленном 1 и 2 fps %) Далее уже идут расхождения. Так, при установленном значении в 3 fps выдаёт 2 fps, при 28 fps выдаёт 26 fps, при 31 fps даёт 29 fps и т.д. Но даже завысив заданное значение fps до "35" и получив на выходе цифру 31-32, прокрутка всёравно продолжает дёргаться =( |
| Часовой пояс GMT +4, время: 00:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.