Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 20:31   #1
Юшков
 
Регистрация: 28.10.2011
Сообщений: 3
По умолчанию Неправильно работает таймер

Все доброго времени суток. У меня такая проблема, я сделал хронометр и когда запуская и сравниваю с другим хронометром (ручным) у меня получается что на компе он тормозит или бывает даже спешит, почему так?
Юшков вне форума Ответить с цитированием
Старый 28.10.2011, 20:59   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Стандартный TTimer очень способный в этом плане(тормоза и спешка).

Вам стоит взглянуть в сторону мультимедийных таймеров системы.
http://msdn.microsoft.com/en-us/libr...09(VS.85).aspx
Человек_Борща вне форума Ответить с цитированием
Старый 28.10.2011, 21:00   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Windows не обеспечивает точности таймера(точнее не винда, а сам механизм).
таймер лишь руководство, что прошло около n времени(где n это период таймера)
а время стоит сверять иными методами.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.10.2011, 21:19   #4
Юшков
 
Регистрация: 28.10.2011
Сообщений: 3
По умолчанию

я в английском не очень шпарю, можете дать альтернативный русский сайтик?
Юшков вне форума Ответить с цитированием
Старый 28.10.2011, 21:30   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Увы "альтернативный русский сайтик" - такого нет,небыло и никогда не будет=) Учите английский
Человек_Борща вне форума Ответить с цитированием
Старый 28.10.2011, 21:38   #6
Юшков
 
Регистрация: 28.10.2011
Сообщений: 3
По умолчанию

это печально, а можете описать процедурку которую я могу вставить в программу что бы реализовать хронометр "минуты:секунды:доли_секунд"?
Юшков вне форума Ответить с цитированием
Старый 29.10.2011, 09:13   #7
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

http://www.delphisources.ru/pages/fa..._mm_timer.html
http://www.z-oleg.com/delphi/systimer.htm
ZuBy вне форума Ответить с цитированием
Старый 07.11.2011, 14:26   #8
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Интервал таймера какой высталяете? Чтобы по секундно таймер работал ставьте 600, но еще таймер бывает тормозит из за загруженности системы, для точности тогда сделайте потоковый таймер и дайте ему высокий приоритет, почитайте о потоках сделать это несложно.
Aliens_wolfs вне форума Ответить с цитированием
Старый 07.11.2011, 14:35   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а имхо, проще в обычном таймере читать системное время. и уже от него отнимать/прибавлять начальное. Тогда можно свой таймер ставить на любой квант времени (баланс между загруженностью и откликом.. например, 150 мс.)
системный таймер идёт независимо от срабатывания локального таймера.
Поэтому он сбиваться не будет.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.11.2011, 14:42   #10
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Тогда согласен можно проще, делать сравнение по системному, как это уже было предложено. Запоздание все равно будет кода система в загруженности ведь он использует TTimer но результат конечно выравниться, это может привести к тому что срабатывать заданная по завершению процедура не сразу а с запозданием.

Но я делал тест для себя ради интереса по потоку и дал ему высокий приоритет, работало норм, отставаний незаметил.

Последний раз редактировалось Aliens_wolfs; 07.11.2011 в 15:01.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неправильно работает запрос 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