Como faço uma máquina virtual com velocidade de tempo não padrão (escala de tempo)?

10

Acho que isso deve ser tecnicamente possível, mas não sei de nenhuma maneira de fazer isso em softwares já existentes.

O que quero dizer - o relógio de "hardware" na VM deve ser capaz de rodar em velocidades diferentes, por exemplo, várias vezes mais lentas que o normal, ou 100 vezes mais rápido que o normal. Portanto, por exemplo, uma chamada Thread.sleep(1000); não gastará necessariamente 1 segundo, mas poderá ser a qualquer momento, dependendo da velocidade do relógio "hardware". E, como outro exemplo, se algum jogo usa o temporizador para controlar a velocidade dos movimentos das coisas, então sua velocidade também mudará com a velocidade do temporizador.

Além disso, seria interessante saber se a velocidade do relógio real do hardware pode ser ajustada e em qual hardware.

Atualizar

Existem 2 perguntas aparentemente semelhantes, mas elas são sobre a velocidade da CPU, não a velocidade do timer (é uma coisa totalmente diferente). Então eu acho que essa questão não é uma duplicata.

    
por Sarge Borsch 05.01.2016 / 22:17

1 resposta

7

O suporte à caixa virtual existe em um nível de configuração conforme explicado neste tíquete oficial :

Btw, this is

VBoxManage setextradata VM_NAME "VBoxInternal/TM/WarpDrivePercentage" 200

for double speed of the guest clock.

GUI support currently not planned.

Não torna o dispositivo de tempo mais rápido.

Testado e funciona apenas para alguns aspectos de cada programa, "talvez", pois não faz com que o dispositivo de tempo seja mais rápido e os programas o usam em parte de suas sincronizações de tempo.

Em outros utilitários da VM:

Além disso, o abridor do bilhete mencionado mencionou:

bochs and DOSbox can speed up or slow down VM by emulating CPU and/or timer slower or faster than normal.

    
por 05.01.2016 / 23:30