![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
анимация в application.onidle
nasty © (2004-08-12 12:15:00)делаю анимацию в application.onidle;
при этом рассчитываю сколько времени занимает прорисовка одного кадра (разница gettickcount).
если общее время анимации >= 250 мс - завершаю анимацию.
но почему-то на медленных машинах анимация занимает гораздо больше, чем 250мс.
не могу понять чем это обусловлено.
если кто сталкивался - помогите, пожалуйста.
nasty (2004-08-13 15:05:00) [1]различие как раз было на компах с 2000/xp и win9x. так что данные дельфевой справки win32sdk устарели и неверные. пользуйтесь только мсдн.
nasty (2004-08-12 18:04:00) [2]и правда... век живи...
мсдн гласит:
GetTickCount...
...It is limited to the resolution of the system timer. To obtain the system timer resolution, use the GetSystemTimeAdjustment function
Fredy314 (2004-08-12 16:30:00) [3]На медленніх машинах и application.onidle может наступить больше чем через 250мс он ведь наступает только тогда когда компу нечем занятся. Так у тебя и между кадрами будет разные по времени задержки в зависимости от загрузки процесора.
Чтобы были одинаковые можешь юзать таймер.
А про gettickcount я гдето читал что его использовать не стоит (я правда не понял почему)по моему лучше получать время через функции Date, Time, Now (они вызывают чтото вроде GetSystemTyme).
А тики они могут по разному тикать :-)