Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 17.10.2009, 12:55   #1
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Время в игре

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

Спасибо!

PS: если уже была такая тема, то направьте в нее, я что-то не нашел...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 17.10.2009, 21:11   #2
jimon
 
Сообщений: n/a
Ответ: Время в игре

юзаю QueryPerformanceCounter под windows и gettimeofday под linux'ом, проблем еще не замечал )
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (19.10.2009)
Старый 19.10.2009, 12:06   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Время в игре

Спасибо, А вот говорят что на разных процессорах эта функция может работать по разному. Иногда даже отрицательные значения выдавать... альтернативы есть?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 19.10.2009, 13:12   #4
jimon
 
Сообщений: n/a
Ответ: Время в игре

PAX
BlitzMax в винде использует timeGetTime, но точность ограничивается 1 миллисекундой

тут есть старая но подробная статья http://www.geisswerks.com/ryan/FAQS/timing.html
они тоже остановились на QueryPerformanceCounter, но следует понимать что возращаемое значение привязано к частоте процессора и потому надо частоту тоже снимать раз в 2-4 секунды (сейчас процессоры любят её частенько менять)

скорее всего лучше всего будет использовать комбинированный метод, если QueryPerformanceCounter поплывёт то стабилизировать его с помощью timeGetTime
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (19.10.2009)
Старый 19.10.2009, 13:27   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Время в игре

Может и одномиллисекундной точности хватит...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часы и время Skythrone Прочие вопросы 3 18.07.2009 16:27
Время в игре Valet Алгоритмика 3 24.11.2006 17:16
время jimon Болтовня 28 04.03.2006 19:33
Нескучное время... Жека Болтовня 5 06.09.2005 10:24


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com