Вниз
Скачать: CL | DM;

Win32 и ожидание   Найти похожие ветки 

← →
DillerXX ©   (2007-01-11 00:00) [0]

Возможно ли как-либо сделать задержку из юзермода без использования Sleep? Дело в том что он в результате делает остановку как минимум на 100 мс, а это очень много. Может есть какое-то прерывание, которое скажет планировщику закончить работу с данной нитью? Извините за наивность, больше ничего в голову не лезет.
Проблема собственно здесь: http://delphimaster.net/view/9-1168453494/
PS. Мега метод Флёнова не предлагать, спасибо, попробывал.


← →
tesseract ©   (2007-01-11 00:02) [1]


>  Дело в том что он в результате делает остановку как минимум
> на 100 мс,


Sleep(1);

Можно внедрить пустой цикл обрабоки сообщений.


← →
DillerXX ©   (2007-01-11 00:07) [2]


> Sleep(1);
>
> Можно внедрить пустой цикл обрабоки сообщений.

Желательно почитать ту ссылку, которую я кинул в [0]


← →
ProgRAMmer Dimonych ©   (2007-01-11 00:14) [3]

Я не понял, что нужно? Сделать прорисовку игры? Как в Elastomaina? Так там, скорее всего TApplicationEvents.OnIdle-обработчик со строчкой Done:=False, как у Краснова.


← →
ferr ©   (2007-01-11 00:15) [4]

Ну во-первых Sleep таки около 25 мс в системах типа NT. А во-вторых действительно неплохо знать зачем..


← →
Игорь Шевченко ©   (2007-01-11 00:16) [5]

Попробуй sleep(0)


← →
Rouse_ ©   (2007-01-11 00:32) [6]


> Дело в том что он в результате делает остановку как минимум
> на 100 мс

Операционка какая?


← →
DillerXX ©   (2007-01-11 00:44) [7]


> Ну во-первых Sleep таки около 25 мс в системах типа NT

Видимо всё же ещё меньше, это я ошибся в своём посте.
Зайдите на http://delphimaster.net/view/9-1168453494/ и лучше перенесите обсуждение туда. Я там написал что уже попробывал. Может у кого код VSync есть.


← →
DillerXX ©   (2007-01-11 00:44) [8]


> Операционка какая?

NT, это я на счёт 100 мс погорячился.


← →
Rouse_ ©   (2007-01-11 00:51) [9]


> DillerXX ©   (11.01.07 00:44) [8]

В NT можно руками регулировать минимальную частоту срабатывания таймера через конфигурирование системы, по умолчание в районе 50.
Параметр TIMERES в BOOT.INI, можешь установить вплоть до 1 миллисекунды.


← →
Vga ©   (2007-01-13 11:29) [10]

> [7] DillerXX ©   (11.01.07 00:44)

А тот что в моем посте в указанной тобой веткене устраивает? У меня работает, при включенной синхронизации загруз проца в районе нуля, при выключенной - в районе 90-100%.


← →
Чапаев ©   (2007-01-13 11:58) [11]

> [7] DillerXX ©   (11.01.07 00:44)
По умолчанию 15 afaik. Используй мультимедийный таймер.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.03 c
2-1169314081
FIL-23
2007-01-20 20:28
2007.02.04
как перевести символ в двоичный код и обратно?


15-1168706846
Kolan
2007-01-13 19:47
2007.02.04
Чем заменить NAN


2-1168867032
XTD
2007-01-15 16:17
2007.02.04
Редактирование изображения


15-1168961818
Megabyte
2007-01-16 18:36
2007.02.04
бесплатные компоненты для архивирования


2-1169203963
FIL-23
2007-01-19 13:52
2007.02.04
создание файлов




   Наверх