Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Прочее";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
2-1169050030
Garacio
2007-01-17 19:07
2007.02.04
Выбор каталога с возможностью создания нового


15-1168724753
kolyann..
2007-01-14 00:45
2007.02.04
irc


8-1149905507
Anonym
2006-06-10 06:11
2007.02.04
Выбор микрофона


2-1169139285
Garacio
2007-01-18 19:54
2007.02.04
сохранить значение в ini из другой формы


15-1168870654
Manic Mechanic
2007-01-15 17:17
2007.02.04
Автомобилистам, да и пешеходам





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский