11

Очевидно, я говорю о времени с точки зрения часов ПК, а не реального времени.

Мы тестировали приложение, которое мы разработали на работе, устанавливая часы вперед и назад для имитации различных сценариев, и я начал думать, насколько полезно было бы, если бы вы могли регулировать скорость (?) системных часов с более точным управлением. Таким образом, вы можете сделать минутный проход за секунду или дневной за 30 секунд и посмотреть, как разрабатываемая вами программа справляется с изменениями даты и времени.

Доступно ли такое программное обеспечение?

Мне было бы интересно услышать, знает ли кто-нибудь о каком-либо программном или аппаратном обеспечении, которое может позволить вам выполнить некоторые или все вышеперечисленное.

4 ответа4

6

Это не обязательно ускорит время, но может быть полезно для отладки.

RunAsDate от Nirsoft

С сайта:

RunAsDate - это небольшая утилита, которая позволяет запускать программу в указанные вами дату и время. Эта утилита не изменяет текущую системную дату и время вашего компьютера, а только внедряет указанную вами дату / время в желаемое приложение. Вы можете запускать несколько приложений одновременно, каждое приложение работает с разными датами и временем, в то время как реальная дата / время вашей системы продолжает работать нормально.

1

В системах Unix libfaketime является де-факто стандартным решением этой проблемы в программном обеспечении. Он выполняет своего рода операцию посредника между вашим приложением и системной временной библиотекой. Запросы передаются в систему, но ответы изменяются по мере необходимости. Он также изменяет результаты вызовов stat() , поэтому время изменения файла & c. также изменены.

Настройки выполняются с помощью переменных среды, поэтому вам, возможно, придется узнать о них, если вы еще не знакомы с их работой.

libfaketime поддерживает относительные и абсолютные смещения, время останова и работы, а также ускорение или замедление. Я не знаю о том, чтобы бежать назад.

Обратите внимание, что текущая версия претендует на то, что секунды - это самое высокое разрешение времени, и передает доли секунды ответов в приложение без изменений. Таким образом, если вы замедляете время до половины скорости, программа с подсекундной скоростью, выполняющая очень быстрые вызовы по времени, будет воспринимать целую секунду дважды, а не один раз, занимая в два раза больше времени. Если часы остановлены, это означает, что приложение видит случайное время в течение выбранной секунды.

К сожалению, Github сегодня не работает, поэтому документы сейчас недоступны, но это, вероятно, будет исправлено в ближайшее время.

Редактировать:

С резервным копированием Github я попробовал это и обнаружил, что код для изменения скорости достаточно общий, чтобы он работал с отрицательными значениями или чем-то еще, принятым atof() .

Однако стала очевидной другая проблема: для изменения скорости необходимо начало времени в дополнение к реальному текущему времени и желаемому смещению времени. Этот источник задается независимо для подпроцессов, поэтому (при работе в обратном направлении с номинальной скоростью), когда родительский процесс откатился на одну минуту, вновь порожденный подпроцесс будет видеть текущее время на две минуты позже, чем родительский процесс.

1

Вы всегда можете написать это. (CMD все еще поддерживает команды DATE/TIME?)

Любая программа, которую вы в конечном итоге используете, в любом случае, вероятно, будет работать, сбрасывая время небольшими шагами. Если вам не нужен сверхтонкий контроль, пакетный скрипт (или perl:) может довольно легко контролировать эти изменения.

Gotchas: Службы обновления NTP должны быть отключены, чтобы использовать это решение, чтобы ОС не продолжала сбрасывать часы назад, какими бы они ни были.

1

Я заметил ссылку на старую программу ASpeeder. Я понятия не имею, как это работает, если это работает, или это древний сайт мошенников. Попробуйте на свой страх и риск. Приветствую Эрис.

Это платное ПО (20 долларов). Посмотрите и убедитесь, что вирус проверяет загрузку перед установкой.

Особенности Speeder 2008.4 (с сайта):

  • Изменить скорость настольных игр или онлайн-игр
  • Управление скоростью приложения и скоростью Windows
  • Простота в использовании, просто перетащите трек-бар или нажмите горячую клавишу
  • От скорости в 1/32 раза до скорости системы в 32 раза
  • От скорости 1/256 раз до скорости Windows 256 раз
  • Настройка скорости блокируется автоматически
  • Предложите три вида методов для изменения скорости

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .