Чтобы программа одинаково работала и на быстром и на медленном компьютере-нужен таймер.Обычно для измерения времени я использую системный таймер.Но у него есть один недостаток-точность составляет 0.055 секунды(18.2 Гц)
Я пытался понять как измеряется время в игре "PHENIX",но так и не нашел там таймера.Я так понял,что скорость графики там,регулируется временными задержками.
А что делать,если требуется измерять время с точность до 0.033 секунды(30Гц)?
Как мы измеряем время(таймер) ?
-
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!
Неужели никто незнает про таймеры?
Может я некорректно задал вопрос,но смысл следующий - как измерять сотые доли секунды,чтобы можно было сделать FPS 60-70 кадров в секунду(это для игры).
Может я некорректно задал вопрос,но смысл следующий - как измерять сотые доли секунды,чтобы можно было сделать FPS 60-70 кадров в секунду(это для игры).
Есть функция 26 (подфункция ebx=9) - это то, что тебе надо.
Авторитарно заявляю, что "истинно точных" тиков 30 Гц получить не получится, во всяком случае при такой архитектуре ядра!
Перво-наперво разработчику нужно четко знать какой частотой тактируется IRQ0. Это тот элементарный квант времени менее которого система не в состоянии выдавать ни себе ни "на сторону". Как видел из листинга, правда давно речь идет о 100Гц, которые затем могут быть использованы счетчиками в нечто боее крупное, т.е. если надо 30Гц, то это система должна использовать счетчик сo значением = 3 (100/3).
Но это еще не все, надо не забывать, что отчёты не будут ровными, т.к. система не дает реальное время, значит приложение обязательно будет получать "запоздалые тики", даже если все верно.
Перво-наперво разработчику нужно четко знать какой частотой тактируется IRQ0. Это тот элементарный квант времени менее которого система не в состоянии выдавать ни себе ни "на сторону". Как видел из листинга, правда давно речь идет о 100Гц, которые затем могут быть использованы счетчиками в нечто боее крупное, т.е. если надо 30Гц, то это система должна использовать счетчик сo значением = 3 (100/3).
Но это еще не все, надо не забывать, что отчёты не будут ровными, т.к. система не дает реальное время, значит приложение обязательно будет получать "запоздалые тики", даже если все верно.
Спасибо всем за советы!
Функция 26.9 как раз то,что мне было нужно.
Высокой точности мне ненадо(на игре это не скажется).
Функция 26.9 как раз то,что мне было нужно.
Высокой точности мне ненадо(на игре это не скажется).
Who is online
Users browsing this forum: No registered users and 14 guests