Как сделать виртуальную машину с нестандартной скоростью времени (timescale)?

11

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

Что я имею в виду - «аппаратные» часы в виртуальной машине должны работать на разных скоростях, например, в несколько раз медленнее, чем обычно, или в 100 раз быстрее, чем обычно. Так, например, Thread.sleep(1000);вызов не обязательно будет тратить 1 секунду, но вместо этого это может быть любое время, в зависимости от скорости «аппаратных» часов. И как другой пример, если какая-то игра использует таймер для управления скоростью движения вещей, то ее скорость также будет изменяться вместе со скоростью таймера.

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

Обновить

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

Отображаемое имя
источник
@ Ƭᴇcʜιᴇ007 они о скорости процессора, и я спросил о скорости таймера .
Отображаемое имя
Достаточно
верно
Не похоже, что это возможно. Я имею в виду, что в настоящее время нет очевидного решения, но мне интересно посмотреть, какие ответы предлагает это сообщество.
Калеб Лимб

Ответы:

7

Поддержка виртуальных ящиков существует на уровне конфигурации, как описано в этом официальном билете :

Кстати, это

VBoxManage setextradata VM_NAME "VBoxInternal/TM/WarpDrivePercentage" 200

для удвоения скорости гостевых часов.

Поддержка GUI в настоящее время не планируется.

Это не заставляет устройство работать быстрее.

Протестировано и работает только для некоторых аспектов каждой программы, «возможно», поскольку оно не заставляет устройство времени работать быстрее, и программы используют его для части своих временных синхронизаций.

В других утилитах VM:

Также, открыватель вышеуказанного билета упомянул:

bochs и DOSbox могут ускорять или замедлять виртуальную машину, эмулируя процессор и / или таймер медленнее или быстрее, чем обычно.

Маленький мальчик
источник
+1, звучит интересно. Но пока не отмечена как принятая, поскольку это не полное решение (оно не заставляет устройство работать быстрее).
Отображаемое имя
Вы также пробовали другие альтернативные утилиты VM для ускорения работы устройства времени?
Маленький мальчик
Как я понимаю, они не являются виртуальными машинами общего назначения, но, похоже, для некоторых вариантов использования они являются решением
отображаемое имя