Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.02.2018, 09:53   #11
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,648
Репутация: 2371

icq: 100500
skype: kick-ass
По умолчанию

Я лет 15 назад провёл детальное исследования и выяснил, что виндовые функции времени Sleep() и GetTickCount() на малых интервалах дают ацкую погрешность - до 1600% (тыщашестьсот!).

Решение было найдено и работает по сей день прекрасно. Использую во всех своих прогах. Могу поделиться со всеми желающими.
-------------
Сейчас я раскопал в архиве тестовое приложение и с удивлением обнаружил, что в Windows 10x64 функция Sleep() таки стала работать почти исправно, мелкософт доработала напильником. Но если Sleep() оставлять в проге, то обратной совместимости настаёт кирдык.

Вложения
Тип файла: 7z timing.7z (852.8 Кб, 4 просмотров)
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 07.02.2018 в 11:08.
min@y™ вне форума   Ответить с цитированием
Старый 07.02.2018, 12:15   #12
PAG
 
Регистрация: 07.04.2016
Сообщений: 8
Репутация: 10
По умолчанию

Спасибо всем кто принял участие в решении проблемы.
В моей миллисекундной временной шкале WinXP вполне соответствует системе реального времени. Но Win7 - никаким боком.
Проблема решилась вызовом QueryPerformanceCounter и организацией собственного подсчета времени.
PAG вне форума   Ответить с цитированием
Старый 09.02.2018, 12:39   #13
NetSpace
Профессионал
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Адрес: п.Путеец, Печорский р-н
Сообщений: 1,275
Репутация: 482
По умолчанию

в архиве у вас только EXE-шник, а исходника с решением проблемы нет, что вы там накопали и до какой сути дошли? сам бы код увидеть...
__________________
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума   Ответить с цитированием
Старый 09.02.2018, 12:49   #14
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,648
Репутация: 2371

icq: 100500
skype: kick-ass
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
в архиве у вас только EXE-шник, а исходника с решением проблемы нет, что вы там накопали и до какой сути дошли? сам бы код увидеть...
Да тот же механизЬм, основанный на QueryPerformanceXXX().
Исходники зашиты внутрь exe и извлекаются по Shift+F11. У меня это делается автоматически и уже довольно давно.
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 09.02.2018, 13:14   #15
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 795
Репутация: 880
По умолчанию

Цитата:
Сообщение от PAG Посмотреть сообщение
Но Win7 - никаким боком.
Наверно все же не только винда, но и конкретное железо вносит свои "коррективы"
Сейчас проверил на программе min@y™, система WIN7 x64, у меня Sleep() работает миллисекунда в миллисекунду до самой 1 (кстати, отрицательные интервалы программе не полезны ), а вот GetTickCount() меньше 16 не показывает вообще, и общая точность дрянь.
kvitaliy на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задать временной интервал в php grundik1 PHP 2 25.04.2015 17:58
Как правильно выдержать html и php. Predator199 PHP 14 07.03.2012 21:11
Временной интервал MaRKer.nsk Общие вопросы C/C++ 2 03.11.2010 11:04
Как получить точный таймер WaxeP Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 25.07.2010 18:25
Как реализовать точный таймер (до мксек) evgengold Общие вопросы Delphi 11 03.03.2009 12:41


13:35.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru