Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Как сделать sleep меньше одной милисекунды?   Найти похожие ветки 

 
ГудБой   (2004-05-21 16:10) [0]

сабж


 
ega23 ©   (2004-05-21 16:17) [1]

for i:=0 to N do; N - подбирай сам.


 
ega23 ©   (2004-05-21 16:17) [2]

for i:=0 to N do; N - подбирай сам.


 
ГудБой   (2004-05-21 16:37) [3]

это на разных компах будет работать по разному


 
ГудБой   (2004-05-21 16:38) [4]

И загрузка проца будет 100%


 
Jeer ©   (2004-05-21 16:39) [5]

Определяй частоту и вперед.
Или тебе с точность до оборота электрона надо ?


 
ega23 ©   (2004-05-21 16:40) [6]

И загрузка проца будет 100%

А sleep как по-твоему работает?


 
ГудБой   (2004-05-21 16:43) [7]

sleep(1) не дает загрузку в 100%


 
Digitman ©   (2004-05-21 16:44) [8]


> ГудБой   (21.05.04 16:38) [4]
> И загрузка проца будет 100%


"проц" всегда загружен на 100%


 
ega23 ©   (2004-05-21 16:44) [9]

А  for i:=0 to 1000 do;  даёт?


 
Sandman25+1   (2004-05-21 16:48) [10]

Автору

Зачем?


 
ega23 ©   (2004-05-21 16:50) [11]

Sandman25+1   (21.05.04 16:48) [10]
Это уже другой вопрос...   :о)


 
tesseract ©   (2004-05-21 16:53) [12]

А зачем?
Точное время посчитать? тогда через режим ядра считай циклы процессора - встроенный таймер винды обеспечивает точность 2-3 мс, а то и больше.


 
Sandman25+1   (2004-05-21 16:53) [13]

[11] ega23 ©   (21.05.04 16:50)

Мне кажется, автор пытается решить какую-то проблему синхронизации таким образом. В таком случае избран неверный способ.


 
DeMoN_Astra   (2004-05-21 16:56) [14]

Блин, зачем отвечать, если в вопросе ничего не понимаешь??
Я этим вопросом занимался долго тоже, при управлении внешними устройствами нужны были меньшие чем 1мс задержки - такие задержки давали большие паузы при управлении. Пробовал и через определение частоты и через драйвера (winDrv).. после всех мучений придумали синхронизацию не по времени, а по стробу готовности от внешнего устройства, к-рое тоже пришлось немного доработать. Вот так-то :)

p.s. и загрузка проца не 100%, просто на время Н сек. операционная система замораживает выполнения процесса.. причем тут вообще проц?? как можно говорить о загрузке проца программой, работающей на нем не в монопольном режиме, а через ОС? тем более ОС не реального времени %( бред..


 
TUser   (2004-05-21 18:43) [15]


> Автору
>
> Зачем?

Например, для переключения между потоками можно использовать sleep(0), 0 < 1;


 
ГудБой   (2004-05-22 15:16) [16]

:) все на много прощще.

Я пишу индикатор, для компов в компьютерном клубе, который показывает сколько осталось времени. Делаю я это, спомощью маленького окошечка, которое выводеться в потоке в цикле:

SetWindowPos(FI.Handle,HWND_TOPMOST,0,0,0,0,SWP_SHOWWINDOW or SWP_NOREPOSITION);
FI.Invalidate;

Так вот, допустим в Кваке, Варкраaте,... - оно видно как статическое окошко которое висит в уголку и показывает время.

А допустим в NFS 5, Контре, Казаках, ... - оно блымает и очень сильно раздражает :(

Когда я делал такой индикатор под линукс там есть sleep который позволяет задавать промежутки времене в плоть до 100 нс.
За тонкой задержки окошечко выводилось чащще и никакого мерцания небыло. Вообщем было все ОК.

А тут сплошной Cancel и Abort %(((



Страницы: 1 вся ветка

Текущий архив: 2004.06.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.041 c
3-1084455789
tchn
2004-05-13 17:43
2004.06.06
master_detail+lookup=непонятки


1-1085214015
AlexG
2004-05-22 12:20
2004.06.06
Кто-нибудь встречался с ошибкой Excel?


1-1085714004
evgen
2004-05-28 07:13
2004.06.06
Русификация Rave Reports отчета


4-1083050607
luka
2004-04-27 11:23
2004.06.06
клавиатура и мышь


1-1085546082
Глеб
2004-05-26 08:34
2004.06.06
Перемещение фокуса