| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Почему GetSystemTime() не работает? |
| Автор: Div 3.7.2005, 15:15 |
| Я в игре хочу выводить время. После инициализации D3D и загрузки 3D моделей, я записываю в переменные OldGameTimeMin и OldGameTimeSec текущие минуты и секунды соответственно, делаю я это для того, чтобы время в игрушке шло с нуля. Перед вызовом RenderScene(), я вновь вызываю GetSystemTime(&systime) для обновления времени. После запуска игры на 1-2 сек показывается черный экран и вываливается в винду. Вопрос: почему так? |
| Автор: empter 3.7.2005, 16:50 |
| Про твою проблему точно не знаю, но вообще GetSystemTime() работает ОЧЕНЬ медленно. Я использую timeGetTime - возвращает прошедшее время со старта винды. посмотри Help в SDK |
| Автор: Div 3.7.2005, 19:15 | ||
| Этот таймар работает!!! Спасибо. В нем, правда больше расчетов надо! Ну, да, ладно Кто сможет оптимизировать? Задача: получить из миллисекунд минуты и секунды!
Добавлено @ 19:17 Кста! В SDK я не нашел! Я смотрел в MSDN. |
| Автор: empter 4.7.2005, 17:48 |
| Всегда пожалуйста |
| Автор: Helicopter 22.7.2005, 23:23 |
| не усложняй код. вот это попробуй GetTickCount ()/666.0f число в знаменателе - скорость |
| Автор: Div 6.8.2005, 12:42 |
| Мне больше понравилось так: SetTimer(hWnd, NULL, NULL, NULL); А потом через WM_TIMER всё снимать |
| Автор: empter 6.8.2005, 19:03 |
| Я читал, что самая быстрая функция получения времени timeGetTime, хотя это уже тебе решать критично ли тебе быстродействие, да и вычислений действительно многовато. |
| Автор: codelord 6.8.2005, 19:10 |
| а как тебе GetLocalTime(&systime); ? |