Visual Studio: différence de performances significative sur VMware Fusion vs Bootcamp?

16

Je viens d'acheter un nouveau MacBook Pro et je cherchais à installer Windows 7 via Bootcamp, afin que je puisse faire du travail de développement Visual Studio, mais je pensais qu'il serait plus logique de déplacer mes éléments non liés au développement (e-mail, etc.) vers le Mac et lancez Windows 7 via VMWare Fusion. Je cherche également à faire du développement iPhone, alors je me demandais si cela avait plus de sens?

Quelqu'un a-t-il eu de l'expérience ou rencontré des problèmes de développement dans Visual Studio 2008/2010 beta sur Windows 2007 (64 ou 32 bits) fonctionnant sur VMWare Fusion? Ou les performances sont-elles bien pires qu'une option à double démarrage est la meilleure solution?

Mark
la source
Vous devez attendre l'installation de Windows 7 via Boot Camp; le support officiel d'Apple arrivera bientôt, mais actuellement c'est un buggy.
brandstaetter
2
J'utilise Windows 7 sur le camp d'entraînement en ce moment, et je n'ai vu aucun bogue.
SLaks
1
N'est-ce pas évident? Exécuter Windows en mode natif ou sur un environnement virtuel où tout accès au matériel se fait via une autre couche de logiciel?
TFM

Réponses:

20

Je sais que cette question ne mentionne pas explicitement Parallels, mais peut-être que certains de mes paramètres / expérience seront transférables aux paramètres avec VMWare Fusion. J'utilise un MacBook Pro fonctionnant sous OS X 10.7.3 avec un processeur Intel Core i7 2,2 GHz et 8 Go de mémoire DDR3 à 1333 MHz pour ma RAM. La version de Parallels que j'utilise est Parallels 7.

Quelques notes importantes avant d'entrer dans ma configuration:

  • Je suis développeur avec accès MSDN. Sous mon compte MSDN, j'ai accès à Office 2010, y compris la version Mac (je le mentionne car, dans de nombreux cas, Office sera une nécessité et donc une considération importante - bien que je puisse installer les deux, il y a aussi le coût en espace disque) . Cela signifiait également que le coût était moins un problème ici car j'avais accès à tout ce dont j'avais besoin via MSDN.

  • Une autre chose que je dois noter est que je ne recommanderais pas de convertir une machine virtuelle VMWare en une machine virtuelle Parallels car j'ai rencontré plusieurs problèmes avec cela et j'ai fini par faire une nouvelle installation.

  • Je développe à la fois sur mon Mac (via Eclipse et Aptana) et Windows 7 VM (via Visual Studio)

Donc, après environ 1 mois de configuration de ma machine virtuelle, je suis parvenu à une configuration assez agréable où je fais l'expérience de performances très fluides. J'ai été très satisfait de cette configuration et c'est assez pratique par rapport à l'alternative du redémarrage pour accéder à ma machine Windows. Ci-dessous, je vais aborder les paramètres Parallels qui, selon moi, ont réussi, en plus du logiciel que j'utilise sur la machine virtuelle, certains éléments importants concernant les paramètres de Windows 7 et un programme à 1 $ dont je dirais que chaque propriétaire de Mac bénéficierait (mais vraiment un nécessité pour toute personne utilisant une machine virtuelle sur un Mac):

Logiciel VM:

  • Windows 7 Ultimate x64
  • Visual Studio 2010 Premium avec de nombreux compléments tels que ReSharper, Mindscape Workbench, NuGet, etc ...
  • SQL Server 2008 R2
  • Expression Blend 4
  • Daemon Tools
  • Charles Proxy (je recommanderais fortement ceci sur, ou du moins en plus de Fiddler si vous allez développer à la fois sur votre Mac et votre PC - la fonctionnalité opt-in pour le débogage SSL est très agréable - j'ai dû installer sur mes deux VM et Mac ... 127.0.0.1 ne se résout pas au même endroit sur mon Mac et VM)
  • IMPORTANT - Je me suis assuré qu'aucun service ne s'exécute au démarrage via Démarrer-> Exécuter-> 'msconfig' - J'ai tendance à aimer utiliser des bases de données comme MongoDB et Neo4j et je les exécute généralement en tant que services car c'est généralement la façon dont j'utiliserai ces bases de données en production, cela pourrait donc être un peu difficile à gérer si je finis par les exécuter sur ma boîte Windows (en fonction des paramètres de production que j'essaie d'émuler)

Paramètres VM:

Général

  • CPU: 4 (sur 8)
  • Mémoire: 3072 Mo (sur 8 Go)

Les options

    Optimization
  • Performances : Mac plus rapide (ce n'est peut-être pas intuitif, mais j'ai trouvé que cela a aidé à éliminer les goulots d'étranglement qui entraînent un système bruyant et des problèmes de surchauffe potentiels)
  • Activer l'hyperviseur adaptatif : vrai
  • Réglez Windows pour la vitesse : vrai
  • Puissance : durée de vie de la batterie plus longue (sinon je rencontre des problèmes de surchauffe)
  • Espace libre : compresser automatiquement les disques durs virtuels: vrai (cela n'a pas posé de problème de performances pour moi, donc je l'ai gardé)

    Security
    
  • Toutes les options sont définies sur false, le cryptage n'est pas activé, les disques d'annulation sont définis sur Désactiver

    Applications
    
  • Suspendre Windows lorsqu'aucune application n'est ouverte : vrai
  • Pages Web : Ouvrir dans mac
  • Courriel : Ouvrir dans mac

    Coherence
    
  • Utiliser le mode cristal : vrai
  • Afficher la zone de notification Windows dans la barre de menus : faux
  • Autoriser les applications à passer en plein écran : vrai
  • Désactiver Windows Aero : false (vous obtiendrez de meilleures performances si vous désactivez, je suis juste une personne très visuelle et a décidé que je tiens à garder Aero en mode cohérence)

    Full Screen
    
  • Utiliser Mac OS X en plein écran : vrai

    Advanced
    
  • SmartMouse : Auto

Matériel

    Video
  • Mémoire vidéo : 512 Mo (sur 1 Go)
  • Activer l'accélération 3D : vrai
  • Activer la synchronisation verticale : vrai

Logiciels Mac

  • Free Memory Pro: Les Mac sont connus pour faire un travail terrible dans la gestion de la mémoire non réclamée. À certains moments, j'exécute ma machine virtuelle (prend automatiquement 3 Go avec ma configuration tant qu'une application est en cours d'exécution), deux instances d'Eclipse (configurations différentes), Aptana, plusieurs sessions de navigateur, plusieurs sessions de terminal, mon VPN et mon bureau applications. À ce stade, ma mémoire peut fonctionner entre 50 et 200 Mo. J'ai constaté si j'utilise Free Memory Pro pour effacer ma mémoire une ou deux fois par jour que mon Mac fonctionne toujours sans bruit ni chaleur excessifs et reste autour de 1,2 Go. de mémoire libre même avec toutes les applications mentionnées ci-dessus étant ouvertes :) À mon humble avis, les Mac devraient venir avec ce programme gratuitement, mais la prochaine fois que vous êtes en voyage de fin de soirée chez Wendy's ... renoncez simplement à l'un de ces menus à 1 $ 5 morceau pépites et acheter ce programme à la place - il '
Jordan
la source
9

J'ai utilisé une machine virtuelle Win7 sur VMware Fusion 3.0, à la fois sur un Mac Pro et un MacBook Pro. Je n'ai eu aucun problème de performances, les performances de la machine virtuelle sur les deux systèmes étaient très bonnes. J'ai eu les meilleurs résultats avec Win7 lorsque j'ai configuré la machine virtuelle pour avoir 1 Go de RAM. (Divulgation complète: je travaille sur VMware Fusion.)

Je n'ai pas personnellement essayé d'exécuter Visual Studio dans une machine virtuelle, mais les gens qui l'ont fait m'ont dit que, tant que le code source que vous compilez est stocké sur le disque dur virtuel, les temps de construction sont bons, bien qu'ils soient légèrement performances plus lentes que natives.

J'ai entendu dire que le stockage du code sur un lecteur "réseau" (soit un partage HGFS ou un partage NFS / CIFS sur l'hôte, accessible via un périphérique Ethernet virtuel) est une mauvaise idée. Apparemment, les performances de construction sont assez mauvaises dans cette configuration.

J'espère que cela t'aides!
Jason

Jason Carreiro
la source
4
Dans mon projet actuel VS2012, Win2012, VMWare Fusion 5.0.1 avec OS X 10.8.2: 9 secondes pour construire sur le disque virtuel, 18 secondes avec Apple SMB, 50 secondes avec les dossiers partagés VMWare.
Brian Reiter
2
Énorme ralentissement avec les dossiers partagés VMWare.
tofutim
Ralentissement majeur à l'aide des dossiers partagés VMware. Tant pour les temps de construction que pour l'exécution des tests unitaires.
bouke
4

J'ai convaincu mon travail il y a quelque temps de me procurer un Mac Pro au lieu du Lenovo prévu (comparable) (ils ont adhéré à l'idée parce qu'il a fini par coûter environ 800,00 $ moins cher, les macs ne sont pas toujours les plus chers :))

J'utilisais Fusion sur Parallels, en raison de mon expérience originale avec les premières versions. J'ai une machine virtuelle Windows 7 x64 que j'utilise pour Visual Studio et décharge tout le reste que je peux sur OS X. Cela fonctionnait très bien. VS2008 chargé rapidement, construit où rapide, etc. etc.

Dernièrement, j'utilise VS2010 et j'ai remarqué une baisse significative des performances. J'ai décidé d'essayer Parallels en raison de toutes les dernières critiques sur les performances avec la version 5. Parallels et Fusion fonctionnent très bien, mais il y a une différence de performance très notable avec VS2010 sur Parallels vs Fusion.

Donc, pour votre question initiale, je pense que vous seriez bien de virtualiser Windows pour le développement, si vous pouvez décharger une grande partie de vos autres travaux sur OS X. Les performances ont parcouru un long chemin avec Fusion / Parallels et il est difficile de redémarrer continuellement pour basculer votre système d'exploitation pour la bosse de performance. Si vous utilisez VS2010, je pourrais recommander Parallels en ce moment simplement en raison du ralentissement que vous obtenez avec Fusion. (Je pense que cela peut être lié à VS2010 utilisant WPF qui peut être plus rapide dans Parallels)

Justin
la source
Il s'agit d'un ancien thread, mais une partie de la différence de performances peut être due à l'utilisation de l'accélération matérielle (UI) dans VS2010. Fonctionne bien sous Windows, mais les machines virtuelles (que ce soit Fusion, Parallels ou VirtualBox) ne sont pas très bonnes à l'accélération GPU. Vous pouvez désactiver cela dans VS2010 / 2012; Je ne l'ai pas personnellement essayé, mais cela pourrait valoir la peine.
3Dave
2

J'ai fait les deux, en utilisant les bêtas de Win7, et j'ai finalement préféré utiliser Boot Camp. Certes, il s'agit d'un MacBook Aluminium 13 "(le modèle sorti fin 2008) avec 2 Go de RAM.

Les performances de VMWare étaient assez bonnes et très impressionnantes, mais parce que ma pile de développeurs n'avait pas le règne complet de la machine, elle me semblait juste assez pokey pour m'ennuyer. (Comprenez que ma pile de développement était une touche plus que VS - j'avais VS, SQL Express, CruiseControl.NET, etc.)

Je pensais que les performances sous Boot Camp étaient considérablement meilleures - mais il faut s'y attendre, car vous parlez de performances natives. Boot Camp vous redémarre dans Windows, après quoi Windows est le seul système d'exploitation en cours d'exécution et a un accès complet à la machine.

Naturellement, votre kilométrage peut varier et les performances sont beaucoup plus dans la "sensation" que dans les métriques. Vous pouvez trouver les performances VM parfaitement dandy. Vous pouvez le trouver un peu pokey. Vous constaterez peut-être que c'est assez bon car il ne nécessite pas de redémarrage complet et vous pouvez toujours exécuter vos applications Mac aux côtés de l'environnement Windows. Vous pouvez préférer la méthode de redémarrage. Vous seul pouvez faire la détermination finale du compromis.

John Rudy
la source
Imaginez que vous exécutiez cette pile de développement avec 2 Go de RAM maintenant ...
Daniel
1

Si je fais quelque chose de rapide, j'exécute Windows à partir de ma partition BootCamp à l'aide de VMWare Fusion 2.0.6. Si je vais faire un débogage ou une correction sérieux, je redémarre en utilisant BootCamp. BootCamp est beaucoup plus rapide, mais si je passe la plupart de mon temps à redémarrer deux fois, j'opterai pour Fusion.

Sur le plan négatif, Fusion ne voit pas tous les cœurs de mon Mac Pro (je ne peux lui affecter que 2 cœurs lorsque j'attribuerais volontiers 4 à 6 processeurs). à.

Mark Thalman
la source
Fusion 3 verra tous vos cœurs. Tho Parallels 5 s'est avéré être beaucoup plus rapide sur mon Mac Pro avec 8 cœurs et 10 Go. Visual Studio 2008 compile plus rapidement et GDI + est sensiblement plus rapide que sous VMware 3. Pour ce qui en vaut la peine, j'utilise les deux produits depuis leurs versions initiales. L'année dernière et demie, j'ai utilisé VMware 2.x sur Parallels. Je pense que je reviens à des parallèles. Sent moins de buggy cette fois. (VMware + Unity + Expose == échouent, essayez-le).
Martin Marconcini
Fusion 3 ne me permet d'utiliser que quatre cœurs sur ma partition de bootcamp et les autres fichiers Fusion, il ne permet que deux cœurs. Dans tous les cas, la fusion est trop lente pour être utile. La seule façon dont j'ai pu faire le travail dont j'avais besoin hier était de lancer le bootcamp. J'ai quitté Parallels l'année dernière à cause d'un showstopper qui m'a forcé à démarrer dans le bootcamp. Je déteste dépenser de l'argent sur Windows et je n'aime vraiment pas devoir mettre à jour deux émulateurs Windows. Je vais probablement simplement soumettre une demande pour un vrai PC au service informatique pour prendre soin de mon travail Windows et garder mon Mac Pro non contaminé.
Mark Thalman,
0

Je ne peux pas commenter Windows 7 (ou même Vista) fonctionnant sur Fusion mais j'ai utilisé Visual Studio 2008 sur Win XP dans Fusion et cela fonctionnait très bien, même sur un MacBook. Je ne veux pas être le gars qui demande pourquoi vous voulez faire ça mais ... pourquoi avez-vous besoin d'avoir Win7 par opposition à XP?

La principale raison pour laquelle j'ai opté pour XP contre Vista était le fardeau supplémentaire que Vista (et Win7) mettait sur la carte graphique, la mémoire et le disque dur. Maintenant, vous serez évidemment mieux placé avec un MacBook Pro et ses capacités graphiques supplémentaires; mais il n'y a aucun moyen de contourner la mémoire supplémentaire et les quantités abondantes d'accès HD aléatoire que Vista et Win7 imposent. Oui, vous pouvez désactiver de nombreuses fonctionnalités qui provoquent l'utilisation de la mémoire et du disque, mais même dans ce cas, la taxe semble être plus élevée que dans XP. Assez sur "pourquoi Win7".

Du point de vue des performances, vous voudrez avoir beaucoup de RAM et une HD rapide. J'ai mis à niveau vers 4 Go et une belle HD à 7 200 tr / min et mes performances étaient excellentes (souvent meilleures que l'exécution native sur une machine double cœur Athlon vieillissante). La possibilité d'exécuter VS et d'utiliser tous mes programmes mac préférés est quelque chose qui me manque encore (je n'ai plus le MacBook) et je recommande fortement cette configuration.

akmad
la source
0

J'ai utilisé Vista 64 + Visual Studio 2008 dans les deux modes BootCamp et VMWare Fusion et les deux fonctionnent bien. Si je «jouais» avec du code et que je ne codais pas intensément, je pourrais le faire dans Fusion sans aucun impact significatif sur les performances. Si je me concentrais sur mon code et que je devais faire quelque chose, je redémarrerais en mode BootCamp. Cela a non seulement garanti que toutes mes ressources étaient dédiées à Vista / Visual Studio, mais cela m'aide également à ce que rien dans Mac-Land ne me détourne du travail.

Important

Le plus gros conseil que je puisse vous donner est que si votre MBP possède deux cartes vidéo et que vous démarrez dans Windows à l'aide de BootCamp, Windows utilisera la carte vidéo la plus puissante. Cela crée de la chaleur supplémentaire et votre MBP commencera à se réchauffer. Normalement, dans Mac-Land, les fans accéléreront pour compenser, mais dans Windows-BootCamp il n'y a rien pour dire aux fans d'accélérer et votre MBP commencera à devenir TRÈS chaud.

Il existe cependant une solution simple qui fonctionne bien. Dans Mac-Land, recherchez une application appelée SMC Fan Control (vous pouvez la trouver sur macupdate.com). Installez-le et avant de démarrer dans Windows à l'aide de BootCamp, accédez aux Préférences Mac, trouvez SMC et par défaut vos fans tournent à quelque chose comme 4500 tr / min. Cela fera un peu plus de bruit mais restera relativement calme. Maintenant, n'arrêtez pas OS-X, faites un redémarrage, appuyez sur la touche BootCamp au bon moment et allez dans Windows. En effectuant un redémarrage, le contrôleur de ventilateur sur la carte mère pensera toujours qu'il doit faire tourner les ventilateurs au nouveau paramètre et il continuera de le faire jusqu'à ce que vous arrêtiez complètement le MBP ou redémarriez sur OS-X et modifiez le paramètre à un rythme plus lent. vitesse (je cours environ 1300 normalement). Cela rend le développement depuis le canapé dans BootCamp beaucoup plus agréable lorsque vous gagnez '

Chris Porter
la source
Je n'ai jamais utilisé bootcamp avec VMware ou Parallels, mais je comprends que chacun installera les outils. Que se passe-t-il si vous démarrez nativement sur le camp d'entraînement? les outils ne "dérangeront" pas?
Martin Marconcini
1
Je n'ai eu aucun problème avec les outils VMWare lors de l'exécution en mode bootcamp. IIRC vous avez plusieurs adaptateurs réseau et il utilise l'un ou l'autre selon le mode de démarrage. Aucun problème ne fonctionne cependant dans les deux modes.
Chris Porter
0

Bien que je ne puisse pas parler de l'exécution de Windows ou de Visual Studio dans une machine virtuelle sur un Mac dans Fusion, je peux parler de la partie concernant le développement de l'iPhone (qui nécessite Xcode et Mac OS X) dans une machine virtuelle Parallels.

Développement iOS

Je fais du développement iOS avec Xcode exécuté sur une machine virtuelle Parallels (9, 10 et 11) sur un MacBook Pro Retina avec un lecteur flash de téraoctets.

En général, cela fonctionne très bien. Le plus gros plus d'avoir toutes mes affaires liées au travail dans un seul environnement. Plus précisément, Apple stocke les clés de sécurité dans le trousseau. Essayer d'extraire cela d'un vrai Mac et de le réinstaller sur un autre est un mystère et une douleur. Avec une machine virtuelle, je fais des sauvegardes manuelles occasionnelles localement et / ou sur un disque externe. Obtenir un nouveau Mac ou passer à un autre Mac signifie simplement une copie de gros fichiers, alors je suis opérationnel.

J'utilise même l'application Notes et l'application Rappels au sein de cette machine virtuelle pour mon travail de développement. Je n'active pas iCloud dans cette machine virtuelle, il reste donc localement sur la machine virtuelle.

Avec Mountain Lion fonctionnant en tant qu'OS invité dans la machine virtuelle fonctionnait si bien que je me suis retrouvé confus quand j'étais dans le vrai Mac et quand j'étais dans le Mac virtuel. Dans la machine virtuelle, j'ai dû basculer mon Dock vers la droite de l'écran pour me différencier du Dock gauche du vrai Mac.

Je suis sûr qu'il y a une certaine pénalité de performance lors de l'exécution dans la machine virtuelle, mais cela m'est passé inaperçu. J'imagine que le lecteur flash rapide économise tellement de temps qu'il fait plus que compenser les frais généraux d'exécution de la machine virtuelle. Dans l'ensemble, c'est l'environnement de développement le plus rapide que j'aie jamais utilisé. Avec Mountain Lion, c'est… continuez à lire.

CAVEAT: Mavericks, Yosemite et El Capitan fonctionnent sensiblement plus lentement en tant que machine virtuelle invitée . J'ai confirmé que dans les versions les plus récentes et antérieures de Parallels et de Fusion, aucun produit ne rend l'accélération matérielle graphique disponible pour Mac OS X en tant qu'OS invité. Ils le font pour Windows en tant qu'OS invité, mais pas pour Mac OS X (ironiquement).

Donc, tout le graphisme s'exécute plus lentement. Les menus déroulent plus lentement et lorsque vous faites glisser le pointeur de votre souris sur les éléments des menus, ils se mettent en surbrillance et dessinent plus lentement. Le déplacement des fenêtres n'est pas tout à fait immédiat. Les animations peuvent être saccadées. Le défilement est une sorte d'hyperactivité, une série de petites mises à jour visuelles plutôt que fluides. Dans l'ensemble, ce n'est pas un spectacle pour moi, du moins pas encore. (J'ai récemment mis à jour la VM de Mountain Lion.)

Pourquoi Lion et Mountain Lion étaient-ils si performants visuellement alors que les derniers Mac OS sont lents? D'après ce que j'ai appris dans une brève note technique et un e-mail de la société Parallels, Apple a fourni une cale avec Lion / Mountain Lion. Ils avaient une bibliothèque qui a aidé à remplacer le manque d'accélération matérielle graphique. Cette bibliothèque n'est plus disponible avec les versions OS X au nom de lieu, uniquement avec les versions OS X au nom félin.

Basil Bourque
la source
-1

Bien que cela fonctionne, il existe des problèmes avec l'utilisation de VMWare Fusion 3 + Bootcamp.

L'authentification de Win7 doit principalement se faire via le système téléphonique MS idiot. Sinon, l'authentification n'est valide que d'un côté (démarrage natif ou VMWare).

De plus, le disque dur semble clignoter assez longtemps après un démarrage de Win7 VMWare, mais c'est peut-être "normal".

Avoir au moins 4 Go de mémoire physique - fonctionne avec 2 Go mais est extrêmement lent. Ma configuration de VM actuelle est de 1420 Mo et 2 cœurs pour VM. Cela finit par utiliser environ 2 Go de mémoire pour VMWare (laissant encore 2 Go pour mon hôte OS X).

akauppi
la source