Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работает ли Sleep в реальном времени? [WinXP]


Страницы:   1 2

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]

нет


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо