Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2009, 17:16   #21
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Расчёты выполнять с максимально возможной скоростью, вывод - с необходимым FPS, т.е. фактически нужно 2 таймера
Так и должно быть (по крайней мере многие игровые движки устроены так). Это позволяет стабильно держать fps при скачках скорости в таймере обработки (в одно время игры может быть 5 противников, а в другое 20, при этом fps не меняется).
Вадим Буренков вне форума Ответить с цитированием
Старый 31.07.2009, 17:53   #22
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Если я правильно понимаю, то речь идет о 2D, там нам нужен факт, что кадр полностью готов, иначе зачем его выводить по точному таймеру если он еще не готов? ...пусть тратит на себя столько времени сколько нужно, в этом TTimer нам помогает без хитростей, ...а ИИ реагирует по изменению мира, изменение мира - изменение игрового пространства, отображение пространства - отображение кадра, отображение кадра - выполнение кода за сколько понадобится времени, ...все строго синхронизировано, ...не хотите тормозов, ищите методы быстрой прорисовки, тогда TTimer вам будет задавать такт смены кадра, а не оттягивать интервал по случаю тормозного кода.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 31.07.2009, 18:22   #23
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Скорость прорисовки не важна, сам по себе TTimer непозволительно много времени бездействует для многих задач: если в нём опрашивать клавиатуру, например, получим всего 20-30 результатов в секунду, динамичную бомбилку-скроллер аля Zanac с такими результатами написать нереально. С ИИ ситуация аналогичная, короче в играх ему (таймеру) делать нечего
пыщь
JTG вне форума Ответить с цитированием
Старый 31.07.2009, 20:12   #24
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
иначе зачем его выводить по точному таймеру если он еще не готов? ...пусть тратит на себя столько времени сколько нужно, в этом TTimer нам помогает без хитростей
Ну это для Canvas. Для движков все по другомую Например игра которую я делаю (гонки) выдает на моем железе 15-20 тысяч! кадров в секунду. В ней лучше разделять таймеры где выводится графика и обрабатывается сама игра (сами таймеры точные).
Вадим Буренков вне форума Ответить с цитированием
Старый 31.07.2009, 20:54   #25
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Спросите у автора темы, что он пользует, ...вряд ли будет ответ OpenGL или DirectX, ...ответ будет - Canvas. Тут конкретно нужно время на построение кадра. Скажите-ка мне, если я брошу свой скоростной код который занимает всего, например, половину времени выставленного интервала в точный таймер, вместо TTimer от этого что-то изменится? ...или TTimer выполнив внутренний код будет в процессе ожидания что-то касячить, тянуть время, или ошибочно его определять? ...я немножко не пойму, объясните конкретно, для 2D и Canvas.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 31.07.2009, 22:46   #26
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Да, он будет тянуть время, у него "разрешение" около 50 мс.
Вложения
Тип файла: rar timers.rar (167.8 Кб, 52 просмотров)
пыщь
JTG вне форума Ответить с цитированием
Старый 01.08.2009, 23:09   #27
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Вы меня не убедили. Ставим на оба таймера интервал 31 мс, и оба они работают одинаково, ...не верите, проверьте сами. Вообще, вывод в форму чаще чем 30 мс в Windows не рекомендуется, ...для 2D игры - за глаза, и для управления тоже. Преимущества есть у TimeSetEvent только в том случае если нужны иные расчеты в программах, генераторы и пр, где работа идет в интервалах 1 мс. Я проверил свой скоростной код на обоих с интервалом 31 мс, и не увидел никакой разницы, ...поставил 20 мс, снова никакой разницы, оба справляются, ...поставил 10 мс, TTimer продолжает работать с такой же скоростью что и с интервалом 20 мс, а TimeSetEvent повешал прогу, создавать еще какие-то коды для нормальной работы, по большому счету, нет никакого желания. Так что вот вам практика от и до.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Физика в 2D играх Вадим Буренков Gamedev - cоздание игр: Unity, OpenGL, DirectX 32 02.11.2010 22:00
Сюжет в 2D играх ZotaC Свободное общение 8 05.07.2009 15:42
ИИ в играх-GPU. Что будут делать CPU? Levsha100 Свободное общение 17 03.07.2009 14:54
Анимация в играх frai Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 25.11.2007 14:28