Форум: "Прочее";
Текущий архив: 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.046 c