Visual Studio: ¿diferencia de rendimiento significativa en VMware Fusion vs Bootcamp?


16

Acabo de comprar un nuevo MacBook Pro y estaba buscando instalar Windows 7 a través de Bootcamp, para poder hacer el trabajo de desarrollo de Visual Studio, pero estaba pensando que tendría más sentido mover mis cosas que no son de desarrollo (correo electrónico, etc.) al Mac y ejecute Windows 7 a través de VMWare Fusion. También estoy pensando en hacer desarrollo de iPhone, así que me preguntaba si eso tenía más sentido.

¿Alguien ha tenido alguna experiencia o ha tenido problemas para desarrollar en Visual Studio 2008/2010 beta en Windows 2007 (64 o 32 bits) que se ejecuta en VMWare Fusion? ¿O el rendimiento es mucho peor que una opción de arranque dual es la mejor manera de hacerlo?


Debe esperar con la instalación de Windows 7 a través de Boot Camp; El soporte oficial de Apple llegará pronto, pero actualmente tiene errores.
brandstaetter

2
Estoy ejecutando Windows 7 en el campo de entrenamiento en este momento, y no he visto ningún error.
SLaks

1
¿No es obvio? ¿Ejecuta Windows de forma nativa en un entorno virtual donde todo el acceso al hardware se realiza a través de otra capa de software?
TFM

Respuestas:


20

Sé que esta pregunta no menciona explícitamente Parallels, pero quizás algunas de mis configuraciones / experiencia allí serán transferibles a configuraciones con VMWare Fusion. Estoy ejecutando una MacBook Pro con OS X 10.7.3 con una memoria Intel Core i7 2.2GHz y 8 GB 1333 MHz DDR3 para mi RAM. La versión de Parallels que estoy usando es Parallels 7.

Algunas notas importantes antes de entrar en mi configuración:

  • Soy un desarrollador con acceso a MSDN. En mi cuenta de MSDN, tengo acceso a Office 2010, incluida la versión para Mac (menciono esto ya que, en muchos casos, Office será una necesidad y, por lo tanto, una consideración importante; aunque podría instalar ambas, también existe el costo en espacio en disco) . Esto también significaba que el costo era una preocupación menor ya que tenía acceso a todo lo que necesitaba a través de MSDN.

  • Otra cosa que debo tener en cuenta es que no recomendaría convertir una máquina virtual VMWare a una máquina virtual Parallels, ya que experimenté varios problemas con esto y terminé haciendo una instalación limpia.

  • Estoy desarrollando tanto en mi Mac (a través de Eclipse y Aptana) y Windows 7 VM (a través de Visual Studio)

Entonces, después de aproximadamente 1 mes de configurar mi VM, he llegado a una configuración bastante agradable en la que estoy experimentando un rendimiento muy suave. Estoy muy contento con esta configuración y es bastante conveniente sobre la alternativa de reiniciar para llegar a mi máquina Windows. A continuación, abordaré la configuración de Parallels que considero que ha tenido éxito, además del software que estoy usando en la VM, algunos elementos importantes con respecto a la configuración de Windows 7 y un programa de $ 1 que sugeriría que cada propietario de Mac se beneficiaría (pero realmente un necesidad para cualquier persona que use una VM en una Mac):

Software VM:

  • Windows 7 Ultimate x64
  • Visual Studio 2010 Premium con muchos complementos como ReSharper, Mindscape Workbench, NuGet, etc.
  • SQL Server 2008 R2
  • Expression Blend 4
  • Daemon Tools
  • Charles Proxy (recomendaría encarecidamente esto, o al menos además de Fiddler si va a desarrollar tanto en su Mac como en su PC; la función de aceptación para la depuración de SSL es muy agradable; tuve que instalarla en mi VM y Mac ... 127.0.0.1 no se resuelve en el mismo lugar en mi Mac y VM)
  • IMPORTANTE : me he asegurado de que no se ejecuten servicios al inicio a través de Inicio-> Ejecutar-> 'msconfig': tiendo a gustarme usar bases de datos como MongoDB y Neo4j y generalmente las ejecuto como servicios, ya que generalmente así es como usaré estas bases de datos en producción, por lo que esto podría ser un poco difícil de manejar si termino ejecutándolos en mi caja de Windows (dependiendo de la configuración de producción que estoy tratando de emular)

Configuración de VM:

General

  • CPU: 4 (de 8)
  • Memoria: 3072 MB (de 8 GB)

Opciones

    Optimization
  • Rendimiento : Mac más rápido (esto puede no ser intuitivo, pero he descubierto que ha ayudado a eliminar los cuellos de botella que resultan en un sistema ruidoso y posibles problemas de sobrecalentamiento)
  • Habilitar hipervisor adaptativo : verdadero
  • Ajuste Windows para la velocidad : verdadero
  • Energía : mayor duración de la batería (de lo contrario me encuentro con problemas de sobrecalentamiento)
  • Espacio libre : comprime automáticamente los discos duros virtuales: cierto (esto no me ha causado ningún problema de rendimiento, por lo que lo he mantenido)

    Security
    
  • Todas las opciones están configuradas en falso, el cifrado no está activado, Deshacer discos está configurado en Desactivar

    Applications
    
  • Pausa Windows cuando no hay aplicaciones abiertas : verdadero
  • Páginas web : abrir en mac
  • Correo electrónico : abrir en mac

    Coherence
    
  • Usar modo cristal : verdadero
  • Mostrar área de notificación de Windows en la barra de menú : falso
  • Permitir que las aplicaciones cambien a pantalla completa : verdadero
  • Deshabilitar Windows Aero : falso (obtendrá un mejor rendimiento si deshabilita esto, solo soy una persona muy visual y decidí que me gusta mantener Aero en modo Coherence)

    Full Screen
    
  • Usar pantalla completa de Mac OS X : verdadero

    Advanced
    
  • SmartMouse : Auto

Hardware

    Video
  • Memoria de video : 512 MB (de 1 GB)
  • Habilitar aceleración 3D : verdadero
  • Habilitar sincronización vertical : verdadero

Software Mac

  • Free Memory Pro: Se sabe que las Mac hacen un trabajo terrible al administrar la memoria no reclamada. En algunos puntos estoy ejecutando mi VM (ocupa automáticamente 3 GB con mi configuración siempre que se esté ejecutando una aplicación), dos instancias de Eclipse (configuraciones diferentes), Aptana, varias sesiones de navegador, varias sesiones de terminal, mi VPN y mi Office aplicaciones. En este punto, mi memoria puede estar corriendo alrededor de 50-200 mb: descubrí que si uso Free Memory Pro para limpiar mi memoria una o dos veces al día, mi Mac todavía funciona sin NINGÚN ruido o calor excesivo y permanece alrededor de 1.2 GB de memoria libre, incluso con todas las aplicaciones mencionadas anteriormente abiertas :) En mi humilde opinión, las Mac deberían venir con este programa de forma gratuita, pero la próxima vez que viaje por la noche a Wendy's ... solo renuncie a uno de esos $ 5 del menú 5 piezas de pepitas y comprar este programa en su lugar - '

9

He usado una máquina virtual Win7 en VMware Fusion 3.0, tanto en Mac Pro como en MacBook Pro. No he tenido ningún problema de rendimiento, el rendimiento de la máquina virtual en ambos sistemas fue muy bueno. Tuve los mejores resultados con Win7 cuando configuré la máquina virtual para tener 1 GB de RAM. (Divulgación completa: trabajo en VMware Fusion).

Personalmente no he intentado ejecutar Visual Studio en una máquina virtual, pero las personas que lo han hecho me han dicho que, siempre que el código fuente que está compilando esté almacenado en el disco duro virtual, los tiempos de compilación son buenos, aunque son un poco más lento que el rendimiento nativo.

He oído que almacenar el código en una unidad de "red" (ya sea un recurso compartido HGFS o un recurso compartido NFS / CIFS en el host, al que se accede a través de un dispositivo Ethernet virtual) es una mala idea. Aparentemente, el rendimiento de construcción es bastante malo en esta configuración.

¡Espero que esto ayude!
Jason


44
En mi proyecto actual VS2012, Win2012, VMWare Fusion 5.0.1 con OS X 10.8.2: 9 segundos para construir en disco virtual, 18 segundos con Apple SMB, 50 segundos con carpetas compartidas VMWare.
Brian Reiter

2
Gran desaceleración con las carpetas compartidas VMWare.
tofutim

Desaceleración importante con VMware Shared Folders. Tanto para tiempos de compilación como para ejecutar pruebas unitarias.
bouke

4

Convencí mi trabajo hace un tiempo para conseguirme un Mac Pro en lugar del Lenovo deseado, comparable (compraron la idea porque terminó siendo $ 800.00 más barata, las Mac no siempre son las más caras :))

Había estado usando Fusion sobre Parallels, debido a mi experiencia original con las primeras versiones. Tengo una máquina virtual Windows 7 x64 que utilizo para Visual Studio, y descargo todo lo que puedo al OS X. Funcionó muy bien. VS2008 se cargó rápidamente, construye donde fue rápido, etc., etc.

Últimamente he estado usando VS2010 y he notado un impacto significativo en el rendimiento. Decidí darle otra oportunidad a Parallels debido a todas las últimas revisiones sobre el rendimiento con la versión 5. Tanto Parallels como Fusion funcionan muy bien, pero hay una diferencia de rendimiento muy notable con VS2010 en Parallels vs Fusion.

Entonces, para su pregunta original, creo que sería bueno simplemente virtualizando Windows para el desarrollo, si puede descargar gran parte de su otro trabajo en OS X. El rendimiento ha recorrido un largo camino con Fusion / Parallels y es difícil reiniciar continuamente para cambiar su sistema operativo para el aumento de rendimiento. Si está utilizando VS2010, podría recomendar Parallels en este momento simplemente debido a la desaceleración que obtiene con Fusion. (Creo que esto puede estar relacionado con VS2010 usando WPF, que puede ser más rápido dentro de Parallels)


Este es un hilo antiguo, pero parte de la diferencia de rendimiento puede deberse al uso de aceleración de hardware (UI) en VS2010. Funciona EXCELENTE en Windows, pero las máquinas virtuales (ya sea Fusion, Parallels o VirtualBox) no son muy buenas para la aceleración de GPU. Puede deshabilitar eso en VS2010 / 2012; No lo he probado personalmente, pero podría valer la pena.
3Dave

2

He hecho ambas cosas, usando las versiones beta de Win7, y finalmente preferí usar Boot Camp. Es cierto que esto está en un MacBook Aluminum de 13 "(el modelo emitido a fines de 2008) con 2GB de RAM.

El rendimiento de VMWare fue bastante bueno y muy impresionante, pero debido a que mi pila de desarrolladores no tenía el reinado completo de la máquina, me sentí lo suficientemente astuto como para molestarme. (Comprenda que mi pila de desarrollo era un poco más que VS: tenía VS, SQL Express, CruiseControl.NET, etc.)

Sentí que el rendimiento en Boot Camp fue considerablemente mejor, pero esto es de esperarse, ya que estás hablando del rendimiento nativo. Boot Camp lo reinicia en Windows, con lo cual Windows es el único sistema operativo que se ejecuta y tiene acceso completo a la máquina.

Naturalmente, su kilometraje puede variar, y el rendimiento es mucho más en la "sensación" que en las métricas. Puede encontrar el rendimiento de VM perfectamente elegante. Puede que te resulte un poco asqueroso. Puede encontrar que es lo suficientemente bueno dado que no requiere un reinicio completo y aún puede ejecutar sus aplicaciones de Mac junto con el entorno de Windows. Puede preferir el método de reinicio. Solo usted puede tomar la determinación final de compensación.


Imagine ejecutar esta pila de desarrollo con 2 Gb de RAM ahora ...
Daniel

1

Si estoy haciendo algo rápido, ejecuto Windows desde mi partición BootCamp usando VMWare Fusion 2.0.6. Si voy a hacer una depuración o reparación seria, reinicio con BootCamp. BootCamp es mucho más rápido, pero si voy a pasar la mayor parte del tiempo reiniciando dos veces, optaré por Fusion.

En el lado negativo, Fusion no ve todos los núcleos de mi Mac Pro (solo puedo asignarle hasta 2 núcleos cuando felizmente asigno 4-6 procesadores), por lo que usar BootCamp definitivamente maximiza los recursos a los que XP tiene acceso a.


Fusion 3 verá todos tus núcleos. Tho Parallels 5 ha demostrado ser considerablemente más rápido en mi Mac Pro con 8 núcleos y 10 gb. Visual Studio 2008 compila más rápido y GDI + es notablemente más rápido que con VMware 3. Por lo que vale, he estado usando ambos productos desde sus lanzamientos iniciales. El año pasado y medio usé VMware 2.x sobre Parallels. Yo creo que voy a volver a los paralelos. Se siente menos con errores esta vez. (VMware + Unity + Expose == falla, pruébalo).
Martin Marconcini

Fusion 3 solo me permite usar cuatro núcleos en mi partición de bootcamp y los otros archivos de Fusion solo permite dos núcleos. De cualquier manera, la fusión es demasiado lenta para ser útil. La única forma en que pude hacer el trabajo que necesitaba ayer fue correr en bootcamp. Me mudé de Parallels el año pasado debido a un showtopper que me obligó a arrancar en bootcamp. Odio gastar dinero en Windows y realmente no me gusta tener que actualizar dos emuladores de Windows. Probablemente enviaré una solicitud de una PC real a TI para encargarme de mi trabajo de Windows y mantener mi Mac Pro sin contaminar.
Mark Thalman el

0

No puedo comentar sobre Windows 7 (o incluso Vista) ejecutándose en Fusion, pero utilicé Visual Studio 2008 en Win XP dentro de Fusion y funcionó muy bien, incluso en un MacBook. No quiero ser el tipo que pregunta por qué quieres hacer eso, pero ... ¿por qué necesitas tener Win7 en lugar de XP?

La razón principal por la que utilicé XP versus Vista fue la carga adicional que Vista (y Win7) pusieron en la tarjeta gráfica, la memoria y el disco duro. Ahora, obviamente, estará en una mejor posición con una MacBook Pro y sus capacidades gráficas adicionales; pero no hay forma de evitar la memoria adicional y las grandes cantidades de acceso aleatorio en HD que Vista y Win7 imponen. Sí, puede desactivar muchas de las funciones que causan el uso de la memoria y el disco, pero aun así, el impuesto parece ser más alto que en XP. Suficiente sobre "por qué Win7".

Desde una perspectiva de rendimiento, querrás tener mucha RAM y un HD rápido. Actualicé a 4GB y una buena HD de 7200rpm y mi rendimiento fue excelente (a menudo mejor que correr nativo en una máquina Athlon de doble núcleo). La capacidad de ejecutar VS y seguir utilizando todos mis programas de Mac favoritos es algo que aún extraño (ya no tengo el MacBook) y recomiendo encarecidamente esa configuración.


0

He usado Vista 64 + Visual Studio 2008 en los modos BootCamp y VMWare Fusion y ambos funcionan bien. Si estaba "jugando" con algún código y no codificaba con atención, podría hacerlo en Fusion sin ningún impacto significativo en el rendimiento. Si me estaba centrando en mi código y necesitaba hacer algo, reiniciaría en modo BootCamp. Esto no solo aseguró que todos mis recursos estuvieran dedicados a Vista / Visual Studio, sino que también ayuda a garantizar que nada en Mac-Land me distraiga del trabajo.

Importante

Sin embargo, el consejo más importante que puedo darte es que si tu MBP tiene dos tarjetas de video y si inicias Windows con BootCamp, Windows usará la tarjeta de video más potente. Esto crea calor adicional y su MBP comenzará a calentarse. Normalmente en Mac-Land, los ventiladores se acelerarán para compensar, pero en Windows-BootCamp no hay nada que les diga a los fanáticos que aceleren y su MBP comenzará a calentarse MUY.

Sin embargo, hay una solución simple que funciona bien. En Mac-Land, busque una aplicación llamada SMC Fan Control (puede encontrarla en macupdate.com). Instálelo y antes de arrancar en Windows usando BootCamp, vaya a Preferencias de Mac, busque SMC y configure por defecto sus ventiladores para girar a algo así como 4500 rpm. Hará un poco más de ruido pero seguirá siendo razonablemente silencioso. Ahora, no apague OS-X, reinicie, presione la tecla BootCamp en el momento adecuado y vaya a Windows. Al realizar un reinicio, el controlador del ventilador en la placa base seguirá pensando que necesita hacer girar los ventiladores en la nueva configuración y continuará haciéndolo hasta que apague el MBP por completo o reinicie a OS-X y cambie la configuración a un ritmo más lento velocidad (corro alrededor de 1300 normalmente). Esto hace que el desarrollo desde el sofá en BootCamp sea mucho más agradable a medida que ganas '


Nunca he usado bootcamp con VMware o Parallels, pero entiendo que cada uno instalará las herramientas. ¿Qué sucede si arrancas de forma nativa en el campo de entrenamiento? ¿No "molestarán" las herramientas?
Martin Marconcini

1
No tuve problemas con las herramientas VMWare al ejecutar en modo bootcamp. IIRC tiene múltiples adaptadores de red y usa uno u otro dependiendo del modo de arranque. Sin embargo, no hay problemas en ambos modos.
Chris Porter

0

Si bien no puedo hablar sobre cómo ejecutar Windows o Visual Studio en una VM en una Mac en Fusion, puedo hablar sobre el desarrollo del iPhone (que requiere Xcode y Mac OS X) en una VM de Parallels.

Desarrollo iOS

Hago desarrollo de iOS con Xcode ejecutándose en una máquina virtual Parallels (9, 10 y 11) en una MacBook Pro Retina con una unidad flash de terabyte.

Generalmente esto funciona muy bien. La mayor ventaja de tener todas mis cosas relacionadas con el trabajo en un solo entorno. Específicamente, Apple almacena las claves de seguridad en el llavero. Intentar extraer eso de una Mac real y volver a instalarlo en otra es un misterio y un dolor. Con una VM, hago copias de seguridad manuales ocasionales localmente y / o en una unidad externa. Obtener una nueva Mac o cambiar a otra Mac solo significa una copia de un archivo grande, luego estoy en funcionamiento.

Incluso utilizo la aplicación Notas y la aplicación Recordatorios dentro de esa VM para mi trabajo de desarrollo. No activo iCloud dentro de esa VM, por lo que solo permanece local en la VM.

Con Mountain Lion funcionando como sistema operativo invitado en la máquina virtual funcionó tan bien que me confundí cuando estaba en la Mac real y cuando estaba en la Mac virtual. En la VM, tuve que cambiar mi Dock hacia el lado derecho de la pantalla para diferenciarlo del Dock izquierdo del Mac real.

Estoy seguro de que hay una penalización de rendimiento cuando se ejecuta en la VM, pero me pasó desapercibido. Me imagino que la unidad flash rápida ahorra tanto tiempo que compensa con creces cualquier sobrecarga de ejecutar la VM. En general, este es el entorno de desarrollo más rápido que he usado. Con Mountain Lion, eso es ... sigue leyendo.

CAVEAT: Mavericks, Yosemite y El Capitan corren notablemente más lento como un VM invitado . He confirmado que en las versiones anteriores y anteriores de Parallels y Fusion, ninguno de los productos pone a disposición de Mac OS X la aceleración de hardware de gráficos como SO huésped. Lo hacen para Windows como sistema operativo invitado, pero no para Mac OS X (irónicamente).

Entonces, todo lo gráfico corre más lento. Los menús se despliegan más lentamente y, al arrastrar el puntero del mouse por los elementos del menú, se resaltan y dibujan más lentamente. Mover ventanas no es del todo inmediato. Las animaciones pueden ser entrecortadas. El desplazamiento es un poco hiperactivo, una serie de pequeñas actualizaciones visuales en lugar de fluidas. En general, no es un espectáculo para mí, al menos todavía no. (Recientemente he actualizado la VM de Mountain Lion).

¿Por qué Lion y Mountain Lion fueron tan efectivos visualmente mientras los Mac OS posteriores son lentos? Por lo que aprendí en una breve nota técnica y un correo electrónico de la compañía Parallels, Apple proporcionó una cuña con Lion / Mountain Lion. Tenían alguna biblioteca que ayudó a sustituir la falta de aceleración de hardware de gráficos. Esta biblioteca ya no está disponible con las versiones OS X con nombre de lugar, solo con las versiones OS X con nombre felino.


-1

Si bien funciona, hay algunos problemas con el uso de VMWare Fusion 3 + Bootcamp.

Principalmente, la autenticación de Win7 debe hacerse a través del tonto sistema telefónico de MS. De lo contrario, la autenticación solo es válida en un lado (arranque nativo o VMWare).

Además, el disco duro parece parpadear bastante después de un arranque de Win7 VMWare, pero tal vez eso sea "normal".

Tiene un mínimo de 4 GB de memoria física: funciona con 2 GB pero es muy lento. Mi configuración actual de VM es de 1420 MB y 2 núcleos para VM. Eso termina usando alrededor de 2 GB de memoria para VMWare en conjunto (dejando otros 2 GB para mi host OS X).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.