|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Вы о чем?..
ENTER_FRAME будет вызываться каждый раз, когда флеш-плееру НАДО отрисовать кадр. Сказали - он рассылает событие, но экран не обновляет. После него прямо перед обновлением экрана идет событие RENDER. И зачем перекладывать "с нестабильного (???) ENTER_FRAME" на "стабильный Timer" ? В 1 случае вся игра затормозит из за падения фпс, во 2 случае - фп скорее повеситься, а если и не повеситься - то на экране у юзера будет черти что. Единственное, что может быть в реалтайм мморпг сие рывки будут правильнее общих тормозов всего и вся, но если у автора появился этот вопрос - он не мморпг делать собрался.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: Jan 2009
Сообщений: 1,651
|
Затем перекладывать на таймер, что это дает более высокое и стабильное обновление экрана!
Вот в этой http://www.8bitrocket.com/newsdispla...newspage=10248 статье, по-моему все замечательно раскрыто. |
|
|||||
стервочка (я мужик)
|
Psycho Tiger, бред.
ENTER_FRAME - вызывается когда происходит вхождение в новый кадр. то есть предыдущий отрисован. RENDER - рассылается, на сколько я помню, если вызывать Stage#invalidate() причём тут мморпг я вообще молчу. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Цитата:
Цитата:
RENDER надо заставить рассылаться вручную - это другой вопрос, если нужно поймать событие, когда уже всё готово к отрисовке, но отрисовка ещё не пошла - его мы и ловим. Просмотрел бегло статью. Самый веский аргумент - потеря фпс в IE. Давно ещё тесты проводил, это не относиться к "тормозам" - как самый быстрый тест - увеличиваем фпс вдвое и смотрим - если бы с ENTER_FRAME были реально тормоза - фп готов был бы повеситься, а нет, все идет нормально. Как учесть - вполне, но все же отказываться от ENTER_FRAME я пока не собираюсь - слишком сомнительны условия. Да, про реалтайм мморпг, что я хотел сказать: если фпс вдруг падает, то ENTER_FRAME реже рассылается в единицу времени. Если он реже рассылается, значит идет меньше пересчетов, но игровые константы не меняются, то есть попросту говоря в игре как бы замедляется время. В обычной синглплеер игре это не очень критично, если на старых машинах в критичные моменты упадет 10 фпс. Если игра онлайновая, то придав какому нибудь обьекту "а ля" бомба, падающая сверху позицию и ускорение - она полетит вниз, и при столкновении с землей она взорвется. При подобном падении фпс эта бомба взорвется до соприкосновения с землей, что вызовет негодования у игрока. В случае с таймером - игра пойдет менее плавно, рывками, но бомба упадет именно в срок. Так понятней, что я имел ввиду?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
|
Если фпс ниже заданного, ваше "стабильное" событие таймера вообще может не вызываться.
Добавлено через 3 минуты А самый лучший вариант, считать физику в ENTER_FRAME перед отрисовкой. Только нужно замерять прошедшее время с предыдущего кадра и считать физику сколько нужно за этот промежуток. Так на быстрых компах будет ниже нагрузка на проц, а на медленных тачках реже будет выполняться перерисовка, при той же скорости мира. |
|
|||||
стервочка (я мужик)
|
Psycho Tiger, у Вас каша в голове. зачем заставлять рассылаться RENDER? чем он будет от ENTER_FRAME отличаться? Вы отличаете тормоза от ограничения ФПС? сколько ММОРПГ Вы написали? Вы когда-нить слышали про формулу зависимости от времени? Вы вообще понимаете как таймер в АС3 работает?
Яски, ну хоть у Вас здравые мысли в голове. |
|
||||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Да, у Яски хорошая идея.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
стервочка (я мужик)
|
Цитата:
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
В AS3 добавлено новое событие Event.RENDER (flash.events.Event.RENDER), которое рассылается после enterFrame, но перед тем, как экран флеш-плеера обновится. (пруфлинк)
Что то ещё произойдет после RENDER`а, но перед отрисовкой? Буду рад, если скажешь, что именно и где я не прав. Цитата:
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
стервочка (я мужик)
|
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 07:14. |
|
« Предыдущая тема | Следующая тема » |
Теги |
fps , отрисовка воды |
|
|