Rendimiento pésimo en juego con VirtualBox

Antes de que me digáis que virtualizar no es la mejor opción para jugar, leed el resto del post.

Se trata de un juego de 2002, con un launcher/hack especial que lo hace imposible funcionar con Wine (al menos yo no he podido). A este juego se puede jugar con un Pentium con muy poca RAM y con gráfica integrada. En un Core2Duo con 512MB de RAM que tenía hace mil años ejecutaba el servidor + el juego y otros programas típicos como el navegador, MSN, etc. Supongo que con esto os podéis hacer una idea de lo que debería chupar el juego.

La cosa es que al ejecutarlo en un XP virtualizado mi portátil se pone a tope. Hablo de un i7 7700HQ, 16GB de RAM, SSD, Nvidia 1050TI, etc. Las temperaturas no son muy altas, unos 65-70 grados pero los ventiladores van a tope, como si fuese a acabarse el mundo.

Usando la misma máquina virtual en un portátil con un i3 4030U con 4GB de RAM y gráfica integrada el juego funciona de maravilla y el PC apenas lo nota. No hay mucha diferencia entre ver un vídeo en youtube o jugar.

¿Dónde puede estar el problema? ¿Será cosa de mi gráfica que no sabe tratar bien el juego por ser tan antiguo?
Yo miraria las opciones de la bios, mira a ver si tienes activadas las opciones de virtualización
Esog Enaug escribió:Yo miraria las opciones de la bios, mira a ver si tienes activadas las opciones de virtualización


De no estar activadas no podría virtualizar, no?
Si podrías, pero con muy mal rendimiento. Creo que por que VB no tiene acceso directo a todo el micro si no se activan esas características.
Lo intentaré a ver, pero lo dejaré para más adelante que tengo exámenes pronto.

Gracias.
Comentas que la misma maquna virtual en un pc mas pequeño , un i3 te va .

a) revisa la configuracion de la maquina virtual , la grafica y cantidad de ram asiganda a la virtual .
b) revisa lo que te dice el compi sobre la VT en la bios en mi portatil venia desactivada por defecto , activarlo hace que pase de la noche al dia .
c) has metido la guest adition o como se llamen y la aceleracion 3d ?

nos cuentas haber iñ.
He mirado en la BIOS. Las únicas dos opciones que tengo sobre virtualización son estas y están ambas marcadas.

Imagen

Imagen


He probado con guest additions y sin ellas. El resultado es el mismo. A la máquina virtual le he asignado más memoria de la que tiene el portátil con el que va bien, no es un problema de recursos.
En VirtualBox en la configuración, dentro del apartado Pantalla tienes para habilitar la aceleración 2D y 3D. Además de ello tienes que instalar las Guest Additions marcando las opciones de aceleración. Básicamente lo que dice @aljares en su paso C. Es que parece que el juego esté tirando del procesador a tope en vez de la gráfica.

De todos modos ¿cuál es el juego?
Morpheus24o escribió:En VirtualBox en la configuración, dentro del apartado Pantalla tienes para habilitar la aceleración 2D y 3D. Además de ello tienes que instalar las Guest Additions marcando las opciones de aceleración. Básicamente lo que dice @aljares en su paso C. Es que parece que el juego esté tirando del procesador a tope en vez de la gráfica.

De todos modos ¿cuál es el juego?


Las Guest Additions están instaladas en modo seguro para poder instalar la aceleración 3D.

Si marco la aceleración 2D el juego peta al iniciar. Un error al parecer por falta de soporte de DX7. Si hago la prueba de Direct3D falla la primera, las otras van bien.

También al iniciar el juego me salta un error como que la aceleración 3D no está activada. Realmente no debería salir porque sí lo está. De todas formas, en el portátil en el que va bien esto también ocurre. El juego es 2D isométrico, no creo que requiera de aceleración 3D.

Es el Legend of Mir 3.
Pero el juego se ejecuta bien , o va con tirones o que le pasa al juego ?¿, veo que solo indicas que la cpu se pone a tope ? quizá deberías si tienes msi afterburner o desde el admin de tareas puedes ver el porcentaje de cpu,? desde la propia maquina virtual ? no habra alguna cosa en segundo plano que chupa recursos ?, no creo que sea problema de tu hard puesto que para virtualbox el hace su propia simulación de hard asi que olvídate como si tienes una 1080gtx .

puedes comprobar con cpupark o similar que no tienes los cores desactivados ? , puede ser que tengas activado el economizador de energía o algo similar y lo tengas en modo eco o similar
aljares escribió:Pero el juego se ejecuta bien , o va con tirones o que le pasa al juego ?¿, veo que solo indicas que la cpu se pone a tope ? quizá deberías si tienes msi afterburner o desde el admin de tareas puedes ver el porcentaje de cpu,? desde la propia maquina virtual ? no habra alguna cosa en segundo plano que chupa recursos ?, no creo que sea problema de tu hard puesto que para virtualbox el hace su propia simulación de hard asi que olvídate como si tienes una 1080gtx .

puedes comprobar con cpupark o similar que no tienes los cores desactivados ? , puede ser que tengas activado el economizador de energía o algo similar y lo tengas en modo eco o similar


El juego va perfectamente.

El proce no se pone a tope. El proceso de VirtualBox consume entre un 8% y un 12% de CPU pero las temperaturas se disparan. El ventilador de la CPU se pone a 5100RPM y el de la gráfica a 5400RPM.

He probado cambiar a la gráfica integrada y durante 5 segundos parecía que todo iba bien hasta que los ventiladores han vuelto a lo suyo. Cores desactivados no hay, los veo como trabajan.

Es incluso molesto jugar salvo que te pongas los auriculares y el volumen muy alto.
Efectivamente, esta haciendo el renderl del juego por software, es decir, uso exlcusivo del procesador, y esto es porque no esta reconociendo ningun sistema grafico que soporte Direct3D u OpenGL. Podria ser la simpleza de que los controladores de la tarjeta de video no den soporte a la tan antigua API Direct3D_7 [d3d7], o bien es configuraion del juego y ahi revisa si en las opciones del juego se puede cambiar el sistema de render [por software, o por d3d, o por ogl] y ahi buscas el d3d u ogl para que el motor grafico llame a las APIs Dirct3D o la API OpenGL.

Tambien prueba de instalar DIrectX9 de junio del 2010 en la maquina anfitrion [el windows donde esta corriendo la maquina virtual], asi D3D9 podria emular los viejos comandos de D3D7.


.
TRASTARO escribió:Efectivamente, esta haciendo el renderl del juego por software, es decir, uso exlcusivo del procesador, y esto es porque no esta reconociendo ningun sistema grafico que soporte Direct3D u OpenGL. Podria ser la simpleza de que los controladores de la tarjeta de video no den soporte a la tan antigua API Direct3D_7 [d3d7], o bien es configuraion del juego y ahi revisa si en las opciones del juego se puede cambiar el sistema de render [por software, o por d3d, o por ogl] y ahi buscas el d3d u ogl para que el motor grafico llame a las APIs Dirct3D o la API OpenGL.

Tambien prueba de instalar DIrectX9 de junio del 2010 en la maquina anfitrion [el windows donde esta corriendo la maquina virtual], asi D3D9 podria emular los viejos comandos de D3D7.


.


La máquina anfitrión lleva Ubuntu, nada de Windows.

Respecto a DX7, es lo que comentaba antes. VirtualBox soporte DX8 y DX9 pero no DX7. Supongo que es por lo que falla DirectDraw.

EDITO:

Estoy pensando que simplemente el portátil es así. Cuando tiene una carga de trabajo considerable se ponen los ventiladores a tope para mantener las temperaturas.

Por ejemplo con https://rainingchain.com/, un MMORPG de navegador pasa lo mismo. Las temperaturas se mantienen en unos 60º-65º y los ventiladores del proce y gráfica se ponen a 5100 y 5400 RPM respectivamente. En el portátil con el i3 4030U ni los oigo.
Muchos juegos de la epoca tenian la opcion de configurar la API del render [opencl o dx] o hacerlo por software [uso del cpu]. Deberias ver si ese juego cuenta con esa opcion.
El juego no da ningún tipo de opción gráfica salvo desactivar alguna cosilla in game como "bright shadow" que tan solo sirve para evitar el lag en ciertos momentos.
Para aprovechar mejor la gráfica usa vmware, es muchísimo mejor.
@Alecs7k
¿Cuanta memoria de video necesita el juego?
Recuerda que una Virtualización de nivel 2 (como la de todas las maquinas virtuales vía software) no tiene acceso a todo el hardware entre ellas la Gráfica debido a ello se debe "crear una gráfica virtual" con apenas 64Mb "virtuales" de memoria de video y ni que decir tiene que tampoco se tiene acceso a ninguna de las características de la gráfica (DX deber ser emulado entre otras cosas más).

Saludos
Perfect Ardamax escribió:@Alecs7k
¿Cuanta memoria de video necesita el juego?
Recuerda que una Virtualización de nivel 2 (como la de todas las maquinas virtuales vía software) no tiene acceso a todo el hardware entre ellas la Gráfica debido a ello se debe "crear una gráfica virtual" con apenas 64Mb "virtuales" de memoria de video y ni que decir tiene que tampoco se tiene acceso a ninguna de las características de la gráfica (DX deber ser emulado entre otras cosas más).

Saludos


Si no recuerdo mal, en los requisitos del juego ponía Windows 98/2000/XP con 32MB de VRAM.
@Alecs7k
Pues si has configurado bien el tamaño de la VRAM en Virtual BOX entonces solo puede ser problema de DX a fin de cuentas es también una emulación (en fase beta por cierto)
Lo cierto es que si tienes que virtualizar programas que usan la gráfica....debes hacerlo usando Virtualizadores de nivel 1 (lo que hay en servidores) en lugar de los típico nivel 2 (Virtual Box, VMWARE ect...) porque estos como digo por diseño del Sistema Operativo (tanto Windows, como la mayoría de Distribuciones de Linux, como MAC) no permiten que un "proceso" tenga acceso a la gráfica (es el Sistema quien se comunica con la gráfica y le pude los datos necesarios) como una maquina virtual es un entorno cerrado no se puede saltar estas comprobaciones) es como digo una limitación de diseño.
Si bien es cierto que algunas distribuciones de linux (muy pocas) permiten dichos accesos (y por la tanto maquinas virtuales de nivel 2 tiene acceso a la gráfica) la realidad es que incluso aun así su acceso es "limitado"
Yo hace tiempo estuve intentándolo y al final me di por vencido porque no hubo manera...incluso abrí un hilo por si te sirve:
hilo_como-usar-la-tarjeta-grafica-dedicada-en-una-maquina-virtual_2135954#p1740269034

Saludos
@Perfect Ardamax el tema es que la misma máquina virtual le funciona en otro equipo de características inferiores.

@Alecs7k sobre que el procesador no se pone a tope hay que ir con cuidado porque si la máquina virtual pone 1 núcleo de la CPU a tope (porque a lo mejor no tienes asignado más núcleos a ella), el sistema operativo te dirá que si tienes 4 núcleos, la CPU está funcionando en un 25% y si tienes 8 hilos pues te dirá que VirtualBox está consumiendo un 10%. Y eso se traduce en que uno de los núcleos va a tope con una temperatura individual de más de 60º y el ventilador a revoluciones altas.

Mira a ver si no es el antivirus o alguna movida similar del sistema host es el que te está interfiriendo...porque no se me ocurren muchas cosas.
19 respuestas