|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.08.2011, 14:53 | #1 |
Регистрация: 20.12.2009
Сообщений: 3
|
Нужен таймер в микросекундах. Заранее всем спасибо за совет!
По Sleep() можно приостановит выполнение программы на несколько миллисекунд, а надо микросекунд. В общем нужен таймер в микросекундах. Заранее всем спасибо за совет!
|
20.08.2011, 15:26 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Говорить о микросекундах в Виндовс смешно. Это не ОС реального времени. Тут любой процесс в любой момент может грузануть проц на сколько угодно времени, так что дай бог миллисекунды с точностью до 10 сосчитать. Точнее, сосчитать можно хоть пикосекунды, но гарантировать, что вас процесс заснёт ровно на 123 микросекунды, а на 124-той проснётся, просто нереально.
Есть подозрение, что эти микросекунды вам даром не нужны, если, конечно, вы не драйвер для железяки какой-то разрабатываете.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
02.10.2012, 16:45 | #3 |
Пользователь
Регистрация: 31.08.2011
Сообщений: 14
|
Тоже столкнулся с необходимостью паузы меньше чем на миллисекунду. Нет ли, случайно, у кого-нибудь решения?
|
02.10.2012, 18:08 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,442
|
А зачем?
Самый точный таймер - это мультимедийный таймер. Ещё можно что-то придумать с GetTickCount, но если ваша система работает дольше 52 часов, то этот вариант даже не рассматривайте. Винда вам на Ring3 ,уж точно, в этом не помощник. Пишите драйвер ядра(ring 0), и оттуда мутите что вам надо. Либо пишите аппаратный драйвер. А ещё я бы поискал спецификации API драйверов для процессоров. Мб там что-то и будет. Ещё подскажу: копайте Open Source проекты операционных систем. |
02.10.2012, 18:21 | #5 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
да ладно, старый добрый DOS с привязкой на IRQ0 и вся любовь) реально срабатывание с задержкой менее 10 микросекунд ещё на Pentium 1 получалось... и это на неоптимизированном коде...
Правильно поставленная задача - три четверти решения.
|
02.10.2012, 18:31 | #6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,442
|
Круто, все ставим дос!!111адынъ
От доса до железа не так уж и далеко.. Не то, что сейчас. |
02.10.2012, 18:48 | #7 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Правильно поставленная задача - три четверти решения.
|
|
02.10.2012, 19:05 | #8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,442
|
ага, и система это один большой поток... никаких тебе multi/hyper-threading...
Счастье млин.. |
02.10.2012, 19:14 | #9 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,742
|
http://programmersforum.ru/showpost....01&postcount=2
http://forums.inscriber.com/viewtopic.php?t=288 (RTX for Delphi)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
02.10.2012, 21:34 | #10 | |
Пользователь
Регистрация: 31.08.2011
Сообщений: 14
|
Цитата:
В моём случае - программа для нагрузочного тестирования. При паузе в 1 миллисекунду я имею 1000 энных итераций, а без неё - 80000. Для того, чтобы найти границу устойчивости софта, мне приходится извращаться с разветвлёнными ифами и вставлять паузы в одну миллисекунду через раз, через два и т.д. Но это хрень. В общем, надо, если знаете как, подскажите, пожалуйста. 2 raxp Спасибо за ссылки, обязательно ознакомлюсь. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перезагрузка операцый с++ заранее спасибо | Obi_Van | Помощь студентам | 0 | 28.05.2011 21:56 |
Переробить процедуру, спасибо заранее!!!! | mix_vasja | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 11.03.2011 19:52 |
Привет всем!Помогите пожалуйста с сортировкой файла в Delphi, заранее спасибо | Taisja | Помощь студентам | 2 | 01.06.2008 15:42 |
Пожайлуйста помогите решить задачки...Заранее спасибо!И удачи всем! | vdv08 | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 06.04.2008 21:01 |