Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.08.2010, 22:04
kadabrik вне форума Посмотреть профиль Отправить личное сообщение для kadabrik Найти все сообщения от kadabrik
  № 1  
Ответить с цитированием
kadabrik

Регистрация: Aug 2010
Сообщений: 8
Question Оптимальные настройки обновления экрана...

В целях изучения as пишу небольшую игру, и у меня встала задача о "плавной" анимации. То есть мне хотелось бы добиться наибольшей частоты кадров для более приятного восприятие игры глазом. На сколько я заметил в трехмерные игры наиболее комфортно играть с частотой от 60 кадров в секунду. Если играть например в какую-нибудь CS1.6 с частотой кадров при которых просматривают фильмы ~ 25 кадров в секунду, то в игре это будет сразу заметно и будет доставлять некий дискомфорт.
Допустим я хочу добиться во флеше этих 60 кадров в секунду, соответственно я задаю stage.frameRate = 60 , но от этого не будет пользы если объекты в игре будут двигаться не каждый кадр. Поэтому интервал таймера, по событию которого двигаются объекты, должен быть установлен в 16мс, что примерно даст 60 событий в секунду. Но все это в теории, поскольку мне кажется, что не на всякой машине все объекты успеют переместиться и отрисоваться за 16мс. Так вот, хотелось бы узнать какие использовать оптимальные настройки обновления экрана и игрового таймера, которые подойдут для большинства случаев?

Старый 28.08.2010, 22:19
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 2  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Не знаю кто как, но думаю, что большинство поддержит, что ставить более 30 fps смысла нет. И не нужно сравнивать контру с флеш-играми.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 29.08.2010, 02:54
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 3  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от TanaTiX Посмотреть сообщение
Не знаю кто как, но думаю, что большинство поддержит, что ставить более 30 fps смысла нет. И не нужно сравнивать контру с флеш-играми.
ставлю загадочные 31 — это больше 30 смысл? науке это доподлинно неизвестно.
__________________
Поймай яблоко 2!

Старый 28.08.2010, 22:20
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 4  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
По моему от 25 до 30 будет достаточно, для динамической игры.

Старый 28.08.2010, 22:24
zatoichi вне форума Посмотреть профиль Отправить личное сообщение для zatoichi Найти все сообщения от zatoichi
  № 5  
Ответить с цитированием
zatoichi
 
Аватар для zatoichi

Регистрация: Aug 2010
Адрес: 55.1° с.ш. 82.56° в.д.
Сообщений: 25
Есть кстати вариант обновлять кадры только после окончания рендеринга каждого из них, тогда скорость воспроизведения будет зависеть от нагруженности флешки и оптимальности его кода, но анимация может иногда ускоряться или замедляться, в зависимости от использования флешем ресурсов машины.
В сети есть много решений с динамическим изменением fps. Ссылок не дам, специально их не искал, но раньше несколько раз натыкался на такую инфу.

Старый 28.08.2010, 22:43
kadabrik вне форума Посмотреть профиль Отправить личное сообщение для kadabrik Найти все сообщения от kadabrik
  № 6  
Ответить с цитированием
kadabrik

Регистрация: Aug 2010
Сообщений: 8
Мда и всетаки при перемещении объекта из одной части экрана в другую замечаю что он иногда двигается с еле заметными рывками, но очень раздражающими. Хотя может быть я просто избалован DirectX'ом... Насчет обновления объектов после окончания рендеринга кадра - частота кадров на разных машинах может быть не одинаковой, а скорость анимации должна быть на всех одной и той же. Поэтому придется расчитывать движения объектов исходя из времени прошедшим между сменой кадров, а это на порядок усложнит алгоритмы анимации объектов.

Старый 28.08.2010, 22:59
zatoichi вне форума Посмотреть профиль Отправить личное сообщение для zatoichi Найти все сообщения от zatoichi
  № 7  
Ответить с цитированием
zatoichi
 
Аватар для zatoichi

Регистрация: Aug 2010
Адрес: 55.1° с.ш. 82.56° в.д.
Сообщений: 25
Насчет усложнения алгоритмов согласен, но иногда это того стоит))

Старый 29.08.2010, 00:31
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 8  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Смена кадров в любом случае будет происходить и все видимые объекты сцены будут отрисовываться. В плане оптимизации важно, чтоб все объекты отрисовывались одновременно, для этого есть ряд методов (с ростом версии флешплеера их больше). С точки зрения структуры наверное было бы лучше создать отдельный класс, который бы "заведовал" отрисовкой.
В отношении разных можностей компьютеров думаю не стоит придумывать суперсложные алгоритмы - это может замедлить работу. Просто ориентируйтесь на некий минимальный уровень, на определенное значение фпс, при котором будет комфортно пользоваться приложением. А методика подъема фпс к хорошему не приведет. С другой стороны если приложение не будет успевать просчитать или визуализировать данные, то фпс упадет автоматически.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 29.08.2010, 03:35
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 9  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
ставлю 33 всегда. приятнее работать

Старый 29.08.2010, 05:16
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 10  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
31 ставят т.к. есть мнение что по (опять же) загадочным причинам это быстрее. ИМХО бред. А по стандартам кинематографа (одному из) - все-таки 30. Кто-то ощущал разницу между 30 и даже 33?
in4core, почему 33? Лень до нуля тянуться?
Zebestov, хотел написать про 31, но было лениво объяснять причину необъяснимого. Все-таки пришлось...
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.