![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 28.10.2011
Сообщений: 3
|
![]()
Все доброго времени суток. У меня такая проблема, я сделал хронометр и когда запуская и сравниваю с другим хронометром (ручным) у меня получается что на компе он тормозит или бывает даже спешит, почему так?
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Стандартный TTimer очень способный в этом плане(тормоза и спешка).
Вам стоит взглянуть в сторону мультимедийных таймеров системы. http://msdn.microsoft.com/en-us/libr...09(VS.85).aspx |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
Windows не обеспечивает точности таймера(точнее не винда, а сам механизм).
таймер лишь руководство, что прошло около n времени(где n это период таймера) а время стоит сверять иными методами. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 28.10.2011
Сообщений: 3
|
![]()
я в английском не очень шпарю, можете дать альтернативный русский сайтик?
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Увы "альтернативный русский сайтик" - такого нет,небыло и никогда не будет=) Учите английский
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 28.10.2011
Сообщений: 3
|
![]() ![]() |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Интервал таймера какой высталяете? Чтобы по секундно таймер работал ставьте 600, но еще таймер бывает тормозит из за загруженности системы, для точности тогда сделайте потоковый таймер и дайте ему высокий приоритет, почитайте о потоках сделать это несложно.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а имхо, проще в обычном таймере читать системное время. и уже от него отнимать/прибавлять начальное. Тогда можно свой таймер ставить на любой квант времени (баланс между загруженностью и откликом.. например, 150 мс.)
системный таймер идёт независимо от срабатывания локального таймера. Поэтому он сбиваться не будет. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Тогда согласен можно проще, делать сравнение по системному, как это уже было предложено. Запоздание все равно будет кода система в загруженности ведь он использует TTimer но результат конечно выравниться, это может привести к тому что срабатывать заданная по завершению процедура не сразу а с запозданием.
Но я делал тест для себя ради интереса по потоку и дал ему высокий приоритет, работало норм, отставаний незаметил. Последний раз редактировалось Aliens_wolfs; 07.11.2011 в 15:01. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неправильно работает запрос | Lokos | БД в Delphi | 7 | 15.12.2010 06:49 |
sscanf() неправильно работает | BioS | Общие вопросы C/C++ | 7 | 06.02.2010 22:36 |
Неправильно работает WinExec? | TwiX | Общие вопросы Delphi | 2 | 26.11.2009 21:07 |
Скрипт неправильно работает | aleksa76 | JavaScript, Ajax | 4 | 21.05.2008 17:47 |
Запрос неправильно работает... | yulia | БД в Delphi | 0 | 27.05.2007 20:41 |