![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работает ли Sleep в реальном времени? [WinXP]
WhiteBarin © (2006-09-20 09:50:00)Здравствуйте, скажите соответствует ли время указаное в Sleep реальному времени, т.е. указываю 70мс действительно ли это 70мс, или нет? Операционная система работает по квантам времени, соответствуют ли они реальному времени?
Ketmar (2006-09-20 17:19:00) [21]>[18] Пусик(c) 06-09-20 17:14
>> плюс ещё что-то. %-)
>Что?
latency системы. Windows -- это не RTS.
Пусик (2006-09-20 17:14:00) [22]
> плюс ещё что-то. %-)
Что?
Ketmar (2006-09-20 17:13:00) [23]>[16] Пусик(c) 06-09-20 17:10
>Да, действительно 70мс.
плюс ещё что-то. %-)
Пусик (2006-09-20 17:10:00) [24]
> скажите соответствует ли время указаное в Sleep реальному
> времени, т.е. указываю 70мс действительно ли это 70мс, или
> нет?
Да, действительно 70мс.
Jeer (2006-09-20 16:37:00) [25]Для примера, могу пояснить:
- система управления приводом (0.1-2 тонны деталь) на основе w2k работает без единого "срыва" более 3 лет;
- система управления теплонагревом поковок (до 3 тонн) работает без нареканий более 4 лет.
В основе "такого" оптимизма для win лежит единственное уточнение:
- все потенциально критичные и опасные процессы решаются на аппаратном уровне;
- соотношение кванта системы и постоянной времени объекта управления >>10
- не используются ресурсо-отнимающие задачи, т.е. в Quake никто не играет:))
atruhin (2006-09-20 15:57:00) [26]> [13] Jeer © (20.09.06 15:39)
Само собой :)
Просто существует довольно много классификаций, и терминов описывающих типы СРВ, поэтому и посянил термин.
Jeer (2006-09-20 15:39:00) [27]atruhin © (20.09.06 12:44) [11]
> Что бы небыло возражений поясняю
Возражений у тех, кто проектировал такие системы быть не может.
Работают.
Don Nikola (2006-09-20 13:04:00) [28]Я делал timeBeginPeriod(1) и ставил в messageloop проверку timeGetTime на окончание периода, затем постил сообщение в очередь. Работало с точностью не менее 2-3мс, даже при хорошей загрузке, по крайней мере удалось сделать четкий лимит по FPS от 1 до 500. По идее на нормальной выделенной тачке точность будет 1мс.
Имхо, получется тоже что и timeSetEvent, но без лишних потоков и с большим контролем.
P.S.: Вроде как timeBeginPeriod и на точность Sleep влияет.
atruhin (2006-09-20 12:44:00) [29]Где то у microsoft видел документ по созданию "мягких" систем реального времени под W2K. Методики расчетов, проектирование и т.д. Страниц 200.
Что бы небыло возражений поясняю: "мягкая" СРВ - система работающая в реальном времени, но допускающая периодические, некоторые нарушения временных интервалов.
sniknik (2006-09-20 12:04:00) [30]> спасибо за решение!
и где же оно, решение то?
вообще что решаем? задачи в вопросе нет, есть вопрос по работе sleep, которая не изменилась ни на йоту независимо от ответов...
а по ссылке всего лиш отличная от борландовской реализация таймера, сути системы (виндов) он не меняет.
WhiteBarin (2006-09-20 10:56:00) [31]Благодарю всех за помощь буду разбираться вопрос закрыт, спасибо за решение!
DVM (2006-09-20 10:51:00) [32]
> но что такое Multimedia Timers
timeSetEvent() + MSDN
вот еще на эту тему, правда чуть иначе:
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=434
WhiteBarin (2006-09-20 10:46:00) [33]Извеняюсь за глупый вопрос, но что такое Multimedia Timers и как программно назначить процессу Real-time, думаю в моём случае это подойдёт, т.к. кроме этого процесса иные задачи не требуются на компьютере (ну а системные и иные сводятся на низший приоритет нереального времени)
DVM (2006-09-20 10:42:00) [34]
> Ты пишешь про потока а можно ли на процесс это распространить?
Конечно можно процессу дать RealTime. Диспетчер задач же это может.
> или какой вариант предложишь чтобы sleep правильно работал
Multimedia Timers может чем то улучшить картину.
sniknik (2006-09-20 10:40:00) [35]> высока ли пограшность?
зависит от многих факторов, загруженности системы например, попадеш на какой нибудь "подвис" системы изза выполнения критичной задачи и погрешность возрастет на порядки.
я бы сказал так, погрешность в пределах от 0 до бесконечности... (комп выключали в тот момент, после не удалось включить, сломался, и он с твоей недовершонной задачей отправился на помойку...)
WhiteBarin (2006-09-20 10:28:00) [36]Ты пишешь про потока а можно ли на процесс это распространить? т.е. на программу, или например включить режим реального времени отработать sleep и затем выключить, можно ли так, или какой вариант предложишь чтобы sleep правильно работал, и высока ли пограшность?
miek (2006-09-20 10:20:00) [37]Получить-то можно. Поставить своему потоку приоритет real-time, например. Все остальное будет подвисать, но программа отработает почти в реал-тайме. Только из-за этого "почти" никто так не делает.
WhiteBarin (2006-09-20 10:11:00) [38]А как получить реальные 70мс, или это нереально в системе нереального режима времени, которой является Windows? Насколько 70мс являются правдивыми, какова погрешность, от чего это зависит (от быстродействия системы или нет?)?
Polevi (2006-09-20 10:03:00) [39]нет