Visual Studio: differenza di prestazioni significative su VMware Fusion vs Bootcamp?


16

Ho appena acquistato un nuovo MacBook Pro e stavo cercando di installare Windows 7 tramite Bootcamp, in modo da poter svolgere il lavoro di sviluppo di Visual Studio, ma stavo pensando che avrebbe più senso spostare le mie cose non di sviluppo (e-mail ecc.) Sul Mac e avvia Windows 7 tramite VMWare Fusion. Sto anche guardando allo sviluppo dell'iPhone, quindi mi chiedevo se avesse più senso?

Qualcuno ha avuto esperienza o ha avuto problemi nello sviluppo di Visual Studio 2008/2010 beta su Windows 2007 (64 o 32 bit) in esecuzione su VMWare Fusion? O le prestazioni sono molto peggio che un'opzione dual boot è la strada migliore da percorrere?


Dovresti aspettare con l'installazione di Windows 7 tramite Boot Camp; il supporto ufficiale di Apple arriverà presto, ma attualmente è difettoso.
marchio registrato

2
Sto eseguendo Windows 7 sul boot camp in questo momento e non ho visto alcun bug.
SLaks,

1
Non è ovvio? Esecuzione nativa di Windows rispetto a un ambiente virtuale in cui tutto l'accesso all'hardware avviene tramite un altro livello di software?
TFM,

Risposte:


20

So che questa domanda non menziona esplicitamente Parallels, ma forse alcune delle mie impostazioni / esperienze ci saranno trasferibili alle impostazioni con VMWare Fusion. Sto eseguendo un MacBook Pro su OS X 10.7.3 con una memoria Intel Core i7 da 2,2 GHz e DDR3 da 1333 MHz a 8 GB per la mia RAM. La versione di Parallels che sto usando è Parallels 7.

Alcune note importanti prima di entrare nella mia configurazione:

  • Sono uno sviluppatore con accesso MSDN. Con il mio account MSDN, ho accesso a Office 2010 inclusa la versione per Mac (menziono questo perché, in molti casi, Office sarà una necessità e quindi una considerazione importante - mentre potrei installare entrambi, c'è anche il costo nello spazio su disco) . Ciò significava anche che il costo era meno preoccupante in quanto avevo accesso a tutto ciò di cui avevo bisogno tramite MSDN.

  • Un'altra cosa che dovrei notare è che non consiglierei di convertire una macchina virtuale VMWare in una macchina virtuale Parallels poiché ho riscontrato diversi problemi e ho finito per eseguire un'installazione pulita.

  • Sto sviluppando sia sul mio Mac (tramite Eclipse e Aptana) sia su Windows 7 VM (tramite Visual Studio)

Quindi dopo circa 1 mese di configurazione della mia VM, sono arrivato a una configurazione piuttosto carina in cui sto vivendo prestazioni molto fluide. Sono stato molto contento di questa configurazione ed è abbastanza conveniente rispetto all'alternativa del riavvio per accedere al mio computer Windows. Di seguito affronterò le impostazioni di Parallels che ritengo abbiano reso questo successo oltre al software che sto usando sulla VM, alcuni elementi importanti riguardanti le impostazioni di Windows 7 e un programma da $ 1 che suggerirei che ogni proprietario di Mac trarrebbe beneficio (ma in realtà un necessità per chiunque utilizzi una VM su un Mac):

Software VM:

  • Windows 7 Ultimate x64
  • Visual Studio 2010 Premium con molti componenti aggiuntivi come ReSharper, Mindscape Workbench, NuGet, ecc ...
  • SQL Server 2008 R2
  • Miscela di espressioni 4
  • Strumenti del demonio
  • Charles Proxy (lo consiglio vivamente, o almeno in aggiunta, a Fiddler se stai sviluppando sia sul tuo Mac che sul PC - la funzionalità di opt-in per il debug SSL è molto bella - ho dovuto installare su entrambi i miei VM e Mac ... 127.0.0.1 non si risolvono nella stessa posizione sul mio Mac e VM)
  • IMPORTANTE - Mi sono assicurato che nessun servizio sia in esecuzione all'avvio tramite Start-> Esegui-> 'msconfig' - Tendo a farmi piacere usare database come MongoDB e Neo4j e di solito li eseguo come servizi in quanto in genere è come userò questi database in produzione, quindi questo potrebbe essere un po 'difficile da gestire se finissi per eseguirli sulla mia finestra di Windows (a seconda delle impostazioni di produzione che sto cercando di emulare)

Impostazioni VM:

Generale

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

Opzioni

    Optimization
  • Prestazioni : Mac più veloce (potrebbe non essere intuitivo, ma ho scoperto che ha contribuito a eliminare i colli di bottiglia che provocano un sistema rumoroso e potenziali problemi di surriscaldamento)
  • Abilita hypervisor adattivo : vero
  • Ottimizza Windows per la velocità : vero
  • Alimentazione : maggiore durata della batteria (altrimenti incappo in problemi di surriscaldamento)
  • Spazio libero : comprime automaticamente i dischi rigidi virtuali: vero (questo non ha causato problemi di prestazioni per me, quindi l'ho tenuto acceso)

    Security
    
  • Tutte le opzioni sono impostate su false, la crittografia non è attiva, Annulla Dischi è impostata su Disabilita

    Applications
    
  • Metti in pausa Windows quando nessuna applicazione è aperta : vero
  • Pagine Web : Apri in mac
  • Email : Apri in mac

    Coherence
    
  • Usa la modalità cristallo : vero
  • Mostra area di notifica di Windows nella barra dei menu : falso
  • Consenti alle applicazioni di passare a schermo intero : vero
  • Disabilita Windows Aero : false (otterrai prestazioni migliori se lo disabiliti, sono solo una persona molto visiva e ho deciso che mi piace mantenere Aero in modalità Coherence)

    Full Screen
    
  • Usa Mac OS X a schermo intero : vero

    Advanced
    
  • SmartMouse : Auto

Hardware

    Video
  • Memoria video : 512 MB (su 1 GB)
  • Abilita accelerazione 3D : vero
  • Abilita sincronizzazione verticale : vero

Software per Mac

  • Free Memory Pro: I Mac sono noti per fare un lavoro terribile nella gestione della memoria non rivendicata. In alcuni punti sto eseguendo la mia VM (occupa automaticamente 3 GB con la mia configurazione fintanto che un'applicazione è in esecuzione), due istanze di Eclipse (diverse configurazioni), Aptana, diverse sessioni del browser, diverse sessioni del terminale, la mia VPN e il mio Office applicazioni. A questo punto la mia memoria potrebbe essere in esecuzione tra i 50-200 MB - Ho scoperto che se uso Free Memory Pro per cancellare la memoria una o due volte al giorno, il mio Mac funziona ancora senza NESSUN rumore o calore eccessivo e rimane intorno a 1,2 GB di memoria libera anche con tutte le applicazioni sopra menzionate aperte :) IMHO, i Mac dovrebbero venire con questo programma gratuitamente, ma la prossima volta che fai un viaggio a tarda notte a Wendy ... rinuncia a uno di quei menu da $ 1 5 pezzo di pepite e acquista invece questo programma - è '

9

Ho usato una macchina virtuale Win7 su VMware Fusion 3.0, sia su Mac Pro che su MacBook Pro. Non ho avuto problemi di prestazioni, le prestazioni della macchina virtuale su entrambi i sistemi erano molto buone. Ho ottenuto i migliori risultati con Win7 quando ho configurato la macchina virtuale per avere 1 GB di RAM. (Informativa completa: lavoro su VMware Fusion.)

Non ho provato personalmente a eseguire Visual Studio in una macchina virtuale, ma le persone che lo hanno fatto mi hanno detto che, fintanto che il codice sorgente che stai compilando è archiviato sul disco rigido virtuale, i tempi di costruzione sono buoni, anche se sono leggermente più lento delle prestazioni native.

Ho sentito che archiviare il codice su un'unità "di rete" (una condivisione HGFS o una condivisione NFS / CIFS sull'host, accessibile tramite un dispositivo Ethernet virtuale) è una cattiva idea. Apparentemente le prestazioni della build sono piuttosto scarse in questa configurazione.

Spero che sia di aiuto!
Jason


4
Nel mio attuale progetto VS2012, Win2012, VMWare Fusion 5.0.1 con OS X 10.8.2: 9 secondi per costruire su disco virtuale, 18 secondi usando Apple SMB, 50 secondi usando le cartelle condivise VMWare.
Brian Reiter,

2
Enorme rallentamento con le cartelle condivise VMWare.
Tofutim,

Importante rallentamento utilizzando le cartelle condivise VMware. Sia per i tempi di costruzione che per l'esecuzione di test unitari.
bouke

4

Ho convinto il mio lavoro un po 'di tempo fa a procurarmi un Mac Pro invece del previsto, comparabile, Lenovo (hanno accettato l'idea perché è finito per essere più economico di circa $ 800,00, i mac non sono sempre i più costosi :))

Avevo usato Fusion su Parallels, a causa della mia esperienza originale con le prime versioni. Ho una macchina virtuale Windows 7 x64 che uso per Visual Studio e scarico tutto il resto che posso su OS X. Funzionava alla grande. VS2008 caricato rapidamente, build dove veloce ecc. Ecc.

Ultimamente sto usando VS2010 e ho notato un notevole successo in termini di prestazioni. Ho deciso di dare a Parallels un'altra possibilità a causa di tutte le ultime recensioni sulle prestazioni con la versione 5. Sia Parallels che Fusion funzionano alla grande, ma c'è una notevole differenza di prestazioni con VS2010 su Parallels vs Fusion.

Quindi, alla tua domanda originale, penso che saresti bravo a virtualizzare Windows per lo sviluppo, se puoi scaricare gran parte del tuo altro lavoro su OS X. Le prestazioni hanno fatto molta strada con Fusion / Parallels ed è difficile riavviare continuamente per passare il tuo sistema operativo per il miglioramento delle prestazioni. Se stai usando VS2010, potrei raccomandare Parallels in questo momento semplicemente a causa del rallentamento che ottieni con Fusion. (Penso che questo possa essere correlato a VS2010 usando WPF che potrebbe essere più veloce all'interno di Parallels)


Questo è un vecchio thread, ma parte della differenza di prestazioni potrebbe essere dovuta all'uso dell'accelerazione hardware (UI) in VS2010. Funziona perfettamente su Windows, ma le VM (sia Fusion, Parallels o VirtualBox) non sono molto brave nell'accelerazione GPU. Puoi disabilitarlo in VS2010 / 2012; non l'ho provato personalmente ma potrebbe valerne la pena.
3Daveva il

2

Ho fatto entrambe le cose, usando le beta di Win7 e alla fine ho preferito usare Boot Camp. Certo, questo è su un MacBook in alluminio da 13 "(il modello rilasciato alla fine del 2008) con 2 GB di RAM.

Le prestazioni di VMWare sono state abbastanza buone e molto impressionanti, ma poiché il mio stack di sviluppo non ha avuto il pieno dominio della macchina, mi è sembrato abbastanza ficcanaso da infastidirmi. (Comprendi che il mio stack di sviluppo era un tocco in più rispetto a VS: avevo VS, SQL Express, CruiseControl.NET, ecc.)

Ho sentito che le prestazioni in Boot Camp erano considerevolmente migliori, ma questo è prevedibile, dal momento che stai parlando delle prestazioni native. Boot Camp ti riavvia in Windows, dopodiché Windows è l'unico sistema operativo in esecuzione e ha pieno accesso al computer.

Naturalmente, il tuo chilometraggio può variare e le prestazioni sono molto più "sensazionali" rispetto alle metriche. È possibile trovare prestazioni VM perfettamente dandy. Potresti trovarlo un po 'confuso. Potresti scoprire che è abbastanza buono dato che non richiede un riavvio completo e puoi comunque eseguire le tue app Mac insieme all'ambiente Windows. Puoi preferire il metodo di riavvio. Solo tu puoi effettuare la determinazione del trade-off finale.


Immagina di eseguire questo stack di sviluppo con 2 GB di RAM ora ...
Daniel

1

Se sto facendo qualcosa di veloce, eseguo Windows dalla mia partizione BootCamp usando VMWare Fusion 2.0.6. Se avrò un serio debug o correzione, riavvio usando BootCamp. BootCamp è molto più veloce, ma se passerò la maggior parte del mio tempo a riavviare due volte, opterò per Fusion.

Sul lato negativo, Fusion non vede tutti i core del mio Mac Pro (posso assegnargli fino a 2 core solo quando assegnerei felicemente 4-6 processori.) Quindi l'uso di BootCamp massimizza decisamente le risorse a cui XP ha accesso per.


Fusion 3 vedrà tutti i tuoi core. Tho Parallels 5 ha dimostrato di essere notevolmente più veloce sul mio Mac Pro con 8 core e 10 GB. Visual Studio 2008 viene compilato più rapidamente e GDI + è notevolmente più veloce rispetto a VMware 3. Per quel che vale, utilizzo entrambi i prodotti sin dalle loro versioni iniziali. L'anno e mezzo ho usato VMware 2.x su Parallels. Io penso che sto tornando a Parallels. Si sente meno buggy questa volta. (VMware + Unity + Expose == fallito, provalo).
Martin Marconcini,

Fusion 3 mi permette di usare solo quattro core sulla mia partizione bootcamp e gli altri file Fusion permette solo due core. In entrambi i casi la fusione è troppo lenta per essere utile. L'unico modo in cui sono stato in grado di portare a termine il lavoro di cui avevo bisogno ieri era correre nel bootcamp. Mi sono trasferito da Parallels l'anno scorso a causa di uno showtopper che mi ha costretto ad avviare BootCamp. Odio spendere soldi su Windows e non mi piace molto dover aggiornare due emulatori di Windows. Probabilmente invierò semplicemente una richiesta per un vero PC all'IT per occuparmi del mio lavoro su Windows e mantenere incontaminato il mio Mac Pro.
Mark Thalman,

0

Non posso commentare Windows 7 (o anche Vista) in esecuzione su Fusion, ma ho usato Visual Studio 2008 su Win XP all'interno di Fusion e funzionava alla grande, anche solo su un MacBook. Non voglio essere il ragazzo che chiede perché vuoi farlo, ma ... perché devi avere Win7 invece di XP?

Il motivo principale per cui ho optato per XP rispetto a Vista è stato l'onere aggiuntivo che Vista (e Win7) hanno messo sulla scheda grafica, sulla memoria e sul disco rigido. Ora sarai ovviamente in una posizione migliore con un MacBook Pro e le sue capacità grafiche aggiuntive; ma non c'è modo di aggirare la memoria aggiuntiva e le copiose quantità di accesso casuale HD che Vista e Win7 impongono. Sì, è possibile disattivare molte delle funzionalità che causano l'utilizzo della memoria e del disco, ma anche in questo caso la tassa sembra essere superiore a quella di XP. Basta con "why Win7".

Dal punto di vista delle prestazioni ti consigliamo di avere molta RAM e un HD veloce. Ho fatto l'upgrade a 4 GB e un bel 7200rpm HD e le mie prestazioni sono state eccezionali (spesso meglio di quelle native su una vecchia macchina dual-core Athlon). La possibilità di eseguire VS e continuare a utilizzare tutti i miei programmi Mac preferiti è qualcosa che ancora mi manca (non ho più il MacBook) e consiglio vivamente tale configurazione.


0

Ho usato Vista 64 + Visual Studio 2008 in entrambe le modalità BootCamp e VMWare Fusion ed entrambe funzionano bene. Se stavo "giocando" con un po 'di codice e non stavo codificando intensamente, potrei farlo in Fusion senza alcun significativo risultato in termini di prestazioni. Se mi stavo concentrando sul mio codice e avessi bisogno di fare qualcosa, avrei riavviato in modalità BootCamp. Questo non solo ha assicurato che tutte le mie risorse erano dedicate a Vista / Visual Studio, ma mi ha anche aiutato a garantire che nulla in Mac-Land mi distrasse dal lavoro.

Importante

Il consiglio più grande che posso darti è se il tuo MBP ha una doppia scheda video e si avvia Windows usando BootCamp, Windows utilizzerà la scheda video più potente. Questo crea ulteriore calore e il tuo MBP inizierà a riscaldarsi. Normalmente in Mac-Land i fan accelereranno per compensare, ma in Windows-BootCamp non c'è nulla da dire ai fan di accelerare e il tuo MBP inizierà a diventare MOLTO caldo.

C'è una soluzione semplice che funziona bene però. In Mac-Land, cerca un'app chiamata SMC Fan Control (puoi trovarla su macupdate.com). Installalo e prima di avviare Windows usando BootCamp, vai su Preferenze Mac, trova SMC e fai in modo che i tuoi fan girino a qualcosa come 4500 rpm. Farà un po 'più di rumore ma sarà ancora abbastanza silenzioso. Ora, non spegnere OS-X, fare un riavvio, premere il tasto BootCamp al momento giusto e andare in Windows. Eseguendo un riavvio, il controller della ventola sulla scheda madre continuerà a pensare che debba far girare le ventole alla nuova impostazione e continuerà a farlo fino a quando non spegnerai completamente l'MBP o riavvierai su OS-X e cambi l'impostazione in un modo più lento velocità (corro circa 1300 normalmente). Questo rende lo sviluppo dal divano in BootCamp molto più piacevole quando hai vinto '


Non ho mai usato bootcamp con VMware o Parallels, ma capisco che ognuno installerà gli strumenti. Cosa succede se fai il boot nativo nel boot camp? gli strumenti non “infastidiranno”?
Martin Marconcini,

1
Non ho avuto problemi con gli strumenti VMWare durante l'esecuzione in modalità bootcamp. IIRC hai più schede di rete e utilizza l'una o l'altra a seconda della modalità di avvio. Nessun problema in esecuzione in entrambe le modalità.
Chris Porter,

0

Anche se non posso parlare con Windows o Visual Studio in una VM su un Mac in Fusion, posso parlare della parte relativa allo sviluppo di iPhone (che richiede Xcode e Mac OS X) in una VM di Parallels.

Sviluppo iOS

Faccio sviluppo iOS con Xcode in esecuzione in una macchina virtuale Parallels (9, 10 e 11) su un MacBook Pro Retina con unità flash terabyte.

In genere funziona molto bene. Il più grande vantaggio di avere tutte le mie cose legate al lavoro in un unico ambiente. In particolare, Apple memorizza le chiavi di sicurezza nel Portachiavi. Cercare di estrarlo da un vero Mac e reinstallarlo su un altro è un mistero e un dolore. Con una macchina virtuale, eseguo occasionalmente backup manuali localmente e / o su un'unità esterna. Ottenere un nuovo Mac o passare a un altro Mac significa solo una copia di file di grandi dimensioni, quindi sono attivo e funzionante.

Uso anche l'app Note e l'app Promemoria all'interno di quella VM per il mio lavoro di sviluppo. Non attivo iCloud all'interno di quella VM, quindi rimane locale nella VM.

Con Mountain Lion in esecuzione come SO guest nella macchina virtuale ha funzionato così bene che mi sono trovato confuso su quando ero nel Mac reale e quando ero nel Mac virtuale. Nella VM, ho dovuto spostare il mio Dock sul lato destro dello schermo per differenziarlo dal Dock sul lato sinistro del Mac reale.

Sono sicuro che ci sono alcune penalità di prestazione quando si esegue nella VM, ma è passato inosservato per me. Immagino che la veloce unità flash consenta di risparmiare così tanto tempo da compensare qualsiasi sovraccarico nell'esecuzione della VM. Nel complesso, questo è l'ambiente di sviluppo più veloce che abbia mai usato. Con Mountain Lion, cioè ... continua a leggere.

CAVEAT: Mavericks, Yosemite ed El Capitan corrono notevolmente più lentamente come VM guest . Ho confermato che nelle versioni precedenti e precedenti di Parallels e Fusion, nessuno dei due prodotti rende l'accelerazione dell'hardware grafico disponibile per Mac OS X come sistema operativo guest. Lo fanno per Windows come sistema operativo guest, ma non per Mac OS X (ironicamente).

Quindi tutto ciò che è grafico gira più lentamente. I menu scendono più lentamente e, trascinando il puntatore del mouse attraverso le voci del menu, vengono evidenziati e disegnati più lentamente. Lo spostamento di Windows non è del tutto immediato. Le animazioni possono essere a scatti. Lo scorrimento è un po 'iperattivo, una serie di piccoli aggiornamenti visivi piuttosto che fluidi. Tutto sommato, non è uno spettacolo per me, almeno non ancora. (Ho aggiornato di recente la VM da Mountain Lion.)

Perché Lion e Mountain Lion sono stati così visivamente performanti mentre i successivi Mac OS sono lenti? Da quanto ho appreso in una breve nota tecnica ed e-mail dalla società Parallels, Apple ha fornito uno spunto con Lion / Mountain Lion. Avevano delle librerie che aiutavano a sostituire la mancanza di accelerazione dell'hardware grafico. Questa libreria non è più disponibile con le versioni OS X con nome di luogo, ma solo con le versioni OS X con nome di felino.


-1

Mentre funziona, ci sono alcuni trucchi con l'utilizzo di VMWare Fusion 3 + Bootcamp.

Soprattutto l'autenticazione di Win7 deve essere fatta tramite il sistema telefonico MS sciocco. In caso contrario, l'autenticazione è valida solo su un lato (avvio nativo o VMWare).

Inoltre, il disco rigido sembra lampeggiare piuttosto a lungo dopo un avvio di Win7 VMWare ma forse è "normale".

Dispone di almeno 4 GB di memoria fisica: funziona con 2 GB ma è molto lento. La mia configurazione corrente di VM è 1420 MB e 2 core per VM. Questo finisce per usare circa 2 GB di memoria per VMWare (lasciando altri 2 GB per il mio host OS X).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.