Здравствуйте, гость ( Вход | Регистрация )
BRE | Дата 19.11.2010, 11:52 |
Чтобы создать банальную задержку в цикле надо такие костыли изобретать Это на первый взгляд она такая банальная, но если вспомнить, что помимо твоего процесса в системе может крутиться еще несколько сот других процессов, которые тоже хотят обслуживания и выполняют порой более важные действия с точки зрения системы, то это впечатление проходит. Вот если бы он хотя бы работал под *nix-системой, подошел бы мне. А так - Only Win Ну в *nix системах есть: sleep, usleep, nanosleep.... |
|
Ignes | Дата 19.11.2010, 11:30 |
Вот теперь не знаю - то ли смеяться, то ли горевать... Чтобы создать банальную задержку в цикле надо такие костыли изобретать Ну что ж - попробую все варианты, отпишусь после. Цитата не используй веднозный Sleep: у него квантование около 15 миллисекунд. Вот если бы он хотя бы работал под *nix-системой, подошел бы мне. А так - Only Win |
|
Iron Bug | Дата 19.11.2010, 10:16 |
выйдет точно, если смотреть сюда там и разные варианты рассмотрены, и кроссплатформенные решения. у меня работает под вендой с точностью до 100-200 микросекунд, под линём с точностью до 8-10 микросекунд. если нужна только венда и не очень высокая точность(плюс-минус несколько миллисекунд), то смотри вендозные мультимедиа таймеры, у них разрешение миллисекундное (это для последних вендов, начиная с 2K). если хочешь скорости - не используй веднозный Sleep: у него квантование около 15 миллисекунд. |
|
Алексей1153 | Дата 19.11.2010, 7:47 |
Ignes, таким образом задержку точно не сделаешь нормально. А пустой цикл оптимизатор вообще выкинет, скорее всего присмотрись к функциям void QThread::msleep ( unsigned long msecs ) [static protected] //milliseconds void QThread::usleep ( unsigned long usecs ) [static protected] // microseconds но ТОЧНО всё равно не выйдет |
|
Ignes | Дата 19.11.2010, 1:28 |
Простите, не в том разделе тему опубликовал. Сам в шоке. Буду признателен за перенос в нужный раздел. | |
Ignes | Дата 19.11.2010, 0:57 |
Понадобилось сделать в теле цикла на каждом шаге задержку в 5 миллисекунд, на просторах интернета нашел банальный пример:
Но t_time оперирует только с секундами, а мне нужны миллисекунды. Справочник по QT мне ничего не дал. Есть ли какие варианты реализовать пяти миллисекундную задержку в цикле, не прибегаю к банальному
|
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 26.4.2024, 22:18 |