Главная страница
    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.059 c
15-1168987696
Gero
2007-01-17 01:48
2007.02.04
Опрос: Как вы относитесь к политике?


4-1159033538
иван8511
2006-09-23 21:45
2007.02.04
Отслеживание запущенной программы


2-1168862862
Ломов
2007-01-15 15:07
2007.02.04
Control "Has no parent window"


2-1168800281
azl
2007-01-14 21:44
2007.02.04
Мигание иконки в Строке заголовка формы


3-1163575639
Артем_
2006-11-15 10:27
2007.02.04
Из MySQL в XML





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский