Visual Studio: znacząca różnica wydajności w VMware Fusion vs Bootcamp?

16

Właśnie kupiłem nowego MacBooka Pro i zastanawiałem się nad instalacją systemu Windows 7 za pośrednictwem Bootcampa, aby móc wykonywać prace programistyczne w Visual Studio, ale pomyślałem, że sensowniej byłoby przenieść moje rzeczy niezwiązane z programowaniem (e-mail itp.) Do Mac i uruchom Windows 7 za pomocą VMWare Fusion. Zastanawiam się też nad tworzeniem iPhone'a, więc zastanawiałem się, czy to ma więcej sensu?

Czy ktoś miał jakiekolwiek doświadczenie lub problemy z programowaniem w Visual Studio 2008/2010 beta na Windows 2007 (64 lub 32 bit) na VMWare Fusion? Czy może wydajność jest znacznie gorsza niż opcja podwójnego rozruchu?

Znak 100%
źródło
Powinieneś poczekać z instalacją systemu Windows 7 za pośrednictwem Boot Camp; oficjalne wsparcie Apple pojawi się wkrótce, ale obecnie jest wadliwe.
brandstaetter
2
Obecnie korzystam z systemu Windows 7 na boot campie i nie widziałem żadnych błędów.
SLaks,
1
Czy to nie oczywiste? Uruchamianie systemu Windows natywnie w środowisku wirtualnym, w którym cały dostęp do sprzętu odbywa się za pośrednictwem innej warstwy oprogramowania?
TFM,

Odpowiedzi:

20

Wiem, że to pytanie nie wspomina wprost o Parallels, ale może niektóre z moich ustawień / doświadczenia będą mogły zostać przeniesione do ustawień za pomocą VMWare Fusion. Używam MacBooka Pro z systemem OS X 10.7.3 z procesorem Intel Core i7 2.2GHz i pamięcią DDR3 8 GB 1333 MHz dla mojej pamięci RAM. Używana przeze mnie wersja Parallels to Parallels 7.

Kilka ważnych uwag przed przejściem do konfiguracji:

  • Jestem programistą z dostępem do MSDN. Na moim koncie MSDN mam dostęp do pakietu Office 2010, w tym do wersji dla komputerów Mac (wspominam o tym, ponieważ w wielu przypadkach pakiet Office będzie koniecznością, a zatem ważną kwestią do rozważenia - podczas gdybym mógł zainstalować oba, wiąże się to również z kosztem miejsca na dysku) . Oznaczało to również, że koszty nie stanowiły problemu, ponieważ miałem dostęp do wszystkiego, czego potrzebowałem przez MSDN.

  • Inną rzeczą, na którą powinienem zwrócić uwagę, jest to, że nie zalecałbym konwersji maszyny wirtualnej VMWare na maszynę wirtualną Parallels, ponieważ napotkałem kilka problemów z tym i zakończyłem czystą instalacją.

  • Rozwijam się zarówno na komputerze Mac (za pośrednictwem Eclipse i Aptana), jak i na maszynie wirtualnej z systemem Windows 7 (za pośrednictwem programu Visual Studio)

Po około miesiącu konfiguracji mojej maszyny wirtualnej sprowadziłem się do całkiem niezłej konfiguracji, w której mam bardzo płynną wydajność. Jestem bardzo zadowolony z tej konfiguracji i jest to całkiem wygodne w porównaniu z alternatywnym uruchomieniem komputera, aby dostać się na mój komputer z systemem Windows. Poniżej zajmę się ustawieniami Parallels, które moim zdaniem przyczyniły się do sukcesu oprócz oprogramowania, którego używam na maszynie wirtualnej, niektórych ważnych elementów dotyczących ustawień systemu Windows 7 i programu o wartości 1 USD, z którego sugerowałbym każdemu właścicielowi Maca (ale tak naprawdę konieczność dla każdego, kto używa maszyny wirtualnej na komputerze Mac):

Oprogramowanie VM:

  • Windows 7 Ultimate x64
  • Visual Studio 2010 Premium z wieloma dodatkami, takimi jak ReSharper, Mindscape Workbench, NuGet itp.
  • SQL Server 2008 R2
  • Expression Blend 4
  • Narzędzia demona
  • Charles Proxy (Gorąco poleciłbym to w stosunku do Fiddlera, a przynajmniej w dodatku do niego, jeśli zamierzasz rozwijać się zarówno na komputerze Mac, jak i PC - opcja włączenia debugowania SSL jest bardzo przyjemna - musiałem zainstalować na moim VM i Mac ... 127.0.0.1 nie działa w tym samym miejscu na moim Macu i VM)
  • WAŻNE - upewniłem się, że żadne usługi nie są uruchomione przy starcie za pomocą Start-> Uruchom-> 'msconfig' - Zwykle lubię korzystać z baz danych takich jak MongoDB i Neo4j i zwykle uruchamiam je jako usługi, ponieważ generalnie tak używam tych baz danych w produkcji, więc może to być trochę kłopotliwe, jeśli skończę je uruchamiać na moim systemie Windows (w zależności od ustawień produkcyjnych, które próbuję emulować)

Ustawienia VM:

Generał

  • Procesory: 4 (spośród 8)
  • Pamięć: 3072 MB (z 8 GB)

Opcje

    Optimization
  • Wydajność : szybszy komputer Mac (może to nie być intuicyjne, ale zauważyłem, że pomógł wyeliminować wąskie gardła, które powodują hałaśliwy system i potencjalne problemy z przegrzewaniem)
  • Włącz Adaptacyjny hiperwizor : prawda
  • Dostosuj szybkość systemu Windows : prawda
  • Zasilanie : dłuższa żywotność baterii (w przeciwnym razie wystąpią problemy z przegrzewaniem)
  • Wolne miejsce : Automatycznie kompresuj wirtualne dyski twarde: prawda (nie spowodowało to dla mnie żadnych problemów z wydajnością, więc pozostałem włączony)

    Security
    
  • Wszystkie opcje ustawione na false, Szyfrowanie nie jest włączone, Cofnij dyski jest ustawiony na Wyłącz

    Applications
    
  • Wstrzymaj system Windows, gdy żadna aplikacja nie jest otwarta : prawda
  • Strony internetowe : Otwórz w Mac
  • Email : Otwórz w Mac

    Coherence
    
  • Użyj trybu kryształu : prawda
  • Pokaż obszar powiadomień systemu Windows na pasku menu : fałsz
  • Zezwalaj aplikacjom na przejście do pełnego ekranu : prawda
  • Wyłącz Windows Aero : false (jeśli to wyłączysz, uzyskasz lepszą wydajność, jestem tylko osobą wizualną i zdecydowałem, że chcę zachować Aero w trybie koherencji)

    Full Screen
    
  • Używaj Mac OS X Full Screen : true

    Advanced
    
  • SmartMouse : Auto

Sprzęt komputerowy

    Video
  • Pamięć wideo : 512 MB (z 1 GB)
  • Włącz przyspieszenie 3D : prawda
  • Włącz synchronizację pionową : prawda

Oprogramowanie Mac

  • Free Memory Pro: Komputery Mac wykonują okropną robotę w zarządzaniu nieodebraną pamięcią. W niektórych momentach uruchamiam moją maszynę wirtualną (automatycznie zajmuje 3 GB z moją konfiguracją, o ile aplikacja jest uruchomiona), dwa wystąpienia Eclipse (różne konfiguracje), Aptana, kilka sesji przeglądarki, kilka sesji terminalowych, moją VPN i moje biuro Aplikacje. W tym momencie moja pamięć może działać około 50-200 MB - odkryłem, że jeśli użyję Free Memory Pro do wyczyszczenia pamięci raz lub dwa razy dziennie, mój Mac nadal działa bez ŻADNEGO nadmiernego hałasu i ciepła i pozostaje około 1,2 GB wolnej pamięci nawet przy otwartych wszystkich wyżej wymienionych aplikacjach :) IMHO, Mac powinien przynieść ten program za darmo, ale następnym razem, gdy wybierzesz się na późną noc do Wendy's ... po prostu zrezygnuj z jednego z tych menu za 1 $ 5 nuggetsy i kup ten program zamiast tego - to „
Jordania
źródło
9

Użyłem maszyny wirtualnej Win7 na VMware Fusion 3.0, zarówno na Mac Pro, jak i MacBook Pro. Nie miałem żadnych problemów z wydajnością, wydajność maszyny wirtualnej w obu systemach była bardzo dobra. Miałem najlepsze wyniki z Win7, kiedy skonfigurowałem maszynę wirtualną do 1 GB pamięci RAM. (Pełne ujawnienie: Pracuję nad VMware Fusion.)

Nie próbowałem osobiście uruchamiać programu Visual Studio na maszynie wirtualnej, ale ludzie, którzy to zrobili, powiedzieli mi, że dopóki kompilowany kod źródłowy jest przechowywany na wirtualnym dysku twardym, czasy kompilacji są dobre, chociaż są nieznaczne wolniejsza niż natywna wydajność.

Słyszałem, że przechowywanie kodu na dysku „sieciowym” (udział HGFS lub udział NFS / CIFS na hoście, dostępny za pośrednictwem wirtualnego urządzenia Ethernet) jest złym pomysłem. Najwyraźniej wydajność kompilacji jest dość zła w tej konfiguracji.

Mam nadzieję że to pomoże!
Jason

Jason Carreiro
źródło
4
W moim bieżącym projekcie VS2012, Win2012, VMWare Fusion 5.0.1 z systemem OS X 10.8.2: 9 sekund do zbudowania na dysku wirtualnym, 18 sekund przy użyciu Apple SMB, 50 sekund przy użyciu folderów współdzielonych VMWare.
Brian Reiter
2
Ogromne spowolnienie dzięki udostępnianym folderom VMWare.
tofutim
Duże spowolnienie przy użyciu folderów współdzielonych VMware. Zarówno dla czasów kompilacji, jak i uruchomionych testów jednostkowych.
Bouke
4

Jakiś czas temu przekonałem swoją pracę, aby kupił mi Maca Pro zamiast zamierzonego, porównywalnego Lenovo (kupili cały pomysł, ponieważ okazał się tańszy o około 800,00 $, Mac nie zawsze są najdroższe :))

Korzystałem z Fusion zamiast Parallels, ze względu na moje oryginalne doświadczenia z wczesnymi wersjami. Mam maszynę wirtualną z systemem Windows 7 x64, której używam do programu Visual Studio, i przesyłam wszystko inne, co mogę, do systemu OS X. Działało to świetnie. VS2008 ładuje się szybko, buduje tam, gdzie jest szybki itp. Itp.

Ostatnio korzystam z VS2010 i zauważyłem znaczny spadek wydajności. Postanowiłem dać Parallelsowi kolejną szansę ze względu na wszystkie najnowsze recenzje dotyczące wydajności z wersją 5. Zarówno Parallels, jak i Fusion działają świetnie, ale istnieje bardzo zauważalna różnica wydajności w porównaniu z VS2010 w Parallels vs Fusion.

Więc na twoje pierwotne pytanie, myślę, że dobrze byłoby zwirtualizować Windows do programowania, jeśli możesz odciążyć większość swojej pracy na OS X. Wydajność przeszła długą drogę z Fusion / Parallels i ciągłe ponowne uruchamianie jest trudne twój system operacyjny w celu zmniejszenia wydajności. Jeśli używasz VS2010, mogę teraz polecić Parallels ze względu na spowolnienie występujące w Fusion. (Myślę, że może to być związane z VS2010 przy użyciu WPF, który może być szybszy w Parallels)

Justin
źródło
Jest to stary wątek, ale część różnicy wydajności może wynikać z zastosowania przyspieszenia sprzętowego (UI) w VS2010. Działa WIELKO pod oknami, ale maszyny wirtualne (Fusion, Parallels lub VirtualBox) nie są zbyt dobre w przyspieszaniu GPU. Możesz to wyłączyć w VS2010 / 2012; nie próbowałem tego osobiście, ale może być tego warte.
3Dave
2

Zrobiłem oba, używając wersji beta Win7 i ostatecznie wolałem używać Boot Camp. Trzeba przyznać, że jest to 13-calowy MacBook Aluminium (model wydany pod koniec 2008 roku) z 2 GB pamięci RAM.

Wydajność VMWare była całkiem dobra i imponująca, ale ponieważ mój stos deweloperów nie miał pełnego panowania nad maszyną, czułem się po prostu wystarczająco kłujący, aby mnie zirytować. (Zrozum, że mój stos deweloperów był odrobinę większy niż VS - miałem VS, SQL Express, CruiseControl.NET itp.)

Czułem, że wydajność w Boot Camp była znacznie lepsza - ale należy się tego spodziewać, ponieważ mówisz o wydajności natywnej. Boot Camp ponownie uruchamia cię do systemu Windows, na którym Windows jest jedynym uruchomionym systemem operacyjnym i ma pełny dostęp do komputera.

Oczywiście Twój przebieg może się różnić, a wydajność jest znacznie bardziej „odczuwalna” niż wskaźniki. Wydajność VM może być bardzo elegancka. Może ci się to wydawać trochę kłopotliwe. Może się okazać, że jest wystarczająco dobry, ponieważ nie wymaga pełnego ponownego uruchomienia i nadal możesz uruchamiać aplikacje Mac wraz ze środowiskiem Windows. Możesz preferować metodę restartu. Tylko Ty możesz dokonać ostatecznego ustalenia kompromisu.

John Rudy
źródło
Wyobraź sobie, że uruchamiasz teraz ten stos deweloperów z 2 GB pamięci RAM ...
Daniel
1

Jeśli robię coś szybko, uruchamiam system Windows z partycji BootCamp za pomocą VMWare Fusion 2.0.6. Jeśli mam zamiar zrobić poważne debugowanie lub naprawę, uruchomię ponownie za pomocą BootCamp. BootCamp jest znacznie szybszy, ale jeśli większość mojego czasu spędzę na ponownym uruchomieniu komputera dwa razy, wybiorę Fusion.

Z drugiej strony Fusion nie widzi wszystkich rdzeni w moim Mac Pro (mogę przypisać do niego tylko 2 rdzenie, gdy z przyjemnością przydzielę 4-6 procesorów.), Więc użycie BootCamp zdecydowanie maksymalizuje zasoby, do których XP ma dostęp do.

Mark Thalman
źródło
Fusion 3 zobaczy wszystkie twoje rdzenie. Tho Parallels 5 okazał się znacznie szybszy na moim Macu Pro z 8 rdzeniami i 10 GB. Visual Studio 2008 kompiluje się szybciej, a GDI + jest zauważalnie szybszy niż w VMware 3. Co warte, używam obu produktów od ich pierwszych wydań. W zeszłym półtora roku korzystałem z VMware 2.x przez Parallels. Myślę , że wracam do paraleli. Tym razem jest mniej buggy. (VMware + Unity + Expose == błąd, spróbuj).
Martin Marconcini,
Fusion 3 pozwala mi używać tylko czterech rdzeni na mojej partycji bootcamp, a inne pliki Fusion pozwalają tylko na dwa rdzenie. Tak czy inaczej fuzja jest zbyt wolna, aby była przydatna. Jedynym sposobem, w jaki mogłem wykonać pracę, której potrzebowałem wczoraj, było uruchomienie w bootcampie. W zeszłym roku przeprowadziłem się z Parallels ze względu na showstopper, który zmusił mnie do uruchomienia bootcampa. Nienawidzę wydawać pieniędzy na system Windows i naprawdę nie lubię aktualizować dwóch emulatorów systemu Windows. Prawdopodobnie po prostu prześlę prośbę o IT na komputer, aby zajął się pracą w systemie Windows i nie zabrudził mojego Mac Pro.
Mark Thalman
0

Nie mogę komentować systemu Windows 7 (ani nawet Visty) działającego na Fusion, ale użyłem Visual Studio 2008 na Win XP w Fusion i działało świetnie, nawet na MacBooku. Nie chcę być facetem pytającym, dlaczego chcesz to zrobić, ale ... dlaczego potrzebujesz Win7 zamiast XP?

Głównym powodem, dla którego wybrałem XP w porównaniu z Vistą, było dodatkowe obciążenie Vista (i Win7) na karcie graficznej, pamięci i dysku twardym. Teraz oczywiście będziesz w lepszej pozycji dzięki MacBookowi Pro i jego dodatkowym możliwościom graficznym; ale nie ma możliwości obejścia dodatkowej pamięci i dużej ilości losowego dostępu do HD, jakie narzucają Vista i Win7. Tak, możesz wyłączyć wiele funkcji powodujących użycie pamięci i dysku, ale nawet wtedy podatek wydaje się wyższy niż w XP. Dosyć o „dlaczego Win7”.

Z punktu widzenia wydajności będziesz chciał mieć dużo pamięci RAM i szybki HD. Uaktualniłem do 4 GB i ładnego HD 7200 obr./min, a moja wydajność była świetna (często lepsza niż praca natywna na starzejącym się dwurdzeniowym komputerze Athlon). Możliwość uruchamiania VS i nadal korzystania ze wszystkich moich ulubionych programów Mac to coś, za czym wciąż tęsknię (nie mam już MacBooka) i bardzo polecam tę konfigurację.

akmad
źródło
0

Używałem Vista 64 + Visual Studio 2008 zarówno w trybach BootCamp, jak i VMWare Fusion i oba działają dobrze. Gdybym „bawił się” jakimś kodem i nie kodowałem intensywnie, mógłbym to zrobić w Fusion bez żadnego znaczącego spadku wydajności. Gdybym skupiał się na kodzie i musiałem coś zrobić, uruchomiłbym się ponownie w trybie BootCamp. To nie tylko zapewniło, że wszystkie moje zasoby były poświęcone Vista / Visual Studio, ale także pomaga upewnić się, że nic w Mac-Land nie odciągnie mnie od pracy.

Ważny

Największą wskazówką, jaką mogę ci dać, jest to, że jeśli twój MBP ma podwójne karty graficzne i uruchamiasz system Windows za pomocą BootCamp, Windows użyje mocniejszej karty graficznej. To generuje dodatkowe ciepło, a twój MBP zacznie się rozgrzewać. Zwykle w Mac-Land fani przyspieszą, aby to zrekompensować, ale w Windows-BootCamp nic nie mówi fanom, aby przyspieszyli, a twój MBP zacznie się BARDZO rozgrzewać.

Istnieje jednak proste rozwiązanie, które działa dobrze. W Mac-Land poszukaj aplikacji o nazwie SMC Fan Control (można ją znaleźć na macupdate.com). Zainstaluj go i zanim uruchomisz system Windows za pomocą BootCamp, przejdź do Preferencji Maca, znajdź SMC i domyślnie wentylatory obracają się z prędkością około 4500 rpm. Zrobi to nieco więcej hałasu, ale nadal będzie dość cichy. Teraz nie zamykaj OS-X, uruchom ponownie, naciśnij klawisz BootCamp we właściwym czasie i przejdź do systemu Windows. Wykonując polecenie Uruchom ponownie kontroler wentylatora na płycie głównej nadal będzie myślał, że musi obrócić wentylatory przy nowym ustawieniu i będzie to robił do momentu całkowitego wyłączenia MBP lub ponownego uruchomienia systemu OS-X i zmiany ustawienia na wolniejsze prędkość (biegnę około 1300 normalnie). To sprawia, że ​​rozwój z kanapy w BootCamp jest znacznie przyjemniejszy, gdy wygrałeś

Chris Porter
źródło
Nigdy nie korzystałem z bootcampa z VMware lub Parallels, ale rozumiem, że każdy z nich zainstaluje narzędzia. Co się stanie, jeśli uruchomisz natywnie podczas boot campu? czy narzędzia nie „zawracają sobie głowy”?
Martin Marconcini,
1
Podczas pracy w trybie bootcamp nie miałem problemów z narzędziami VMWare. IIRC masz wiele kart sieciowych i używa jednej lub drugiej w zależności od trybu rozruchu. Brak problemów w obu trybach.
Chris Porter,
0

Chociaż nie mogę rozmawiać z systemem Windows lub Visual Studio na maszynie wirtualnej na komputerze Mac w Fusion, mogę mówić o części dotyczącej rozwoju iPhone'a (która wymaga Xcode i Mac OS X) na maszynie wirtualnej Parallels.

Rozwój iOS

Robię programowanie na iOS z Xcode działającym na maszynie wirtualnej Parallels (9, 10 i 11) na MacBooku Pro Retina z dyskiem flash terabajtowym.

Ogólnie działa to bardzo dobrze. Największy plus posiadanie wszystkich moich rzeczy związanych z pracą w jednym środowisku. W szczególności Apple przechowuje klucze bezpieczeństwa w pęku kluczy. Próba wyodrębnienia tego z prawdziwego komputera Mac i ponownej instalacji na innym jest tajemnicą i bólem. Za pomocą maszyny wirtualnej od czasu do czasu wykonuję ręczne kopie zapasowe lokalnie i / lub na dysk zewnętrzny. Zdobycie nowego komputera Mac lub przejście na inny komputer Mac oznacza tylko jedną dużą kopię pliku, a następnie jestem gotowy.

Do pracy programistycznej używam nawet aplikacji Notes i aplikacji Przypomnienia na tej maszynie wirtualnej. Nie aktywuję iCloud na tej maszynie wirtualnej, więc pozostaje ona lokalna dla maszyny wirtualnej.

Z Mountain Lion działającym jako system operacyjny gościa na maszynie wirtualnej działał tak dobrze, że poczułem się zdezorientowany, kiedy byłem na prawdziwym komputerze Mac i kiedy byłem na wirtualnym komputerze Mac. Na maszynie wirtualnej musiałem przełączyć Docka na prawą stronę ekranu, aby odróżnić się od Docka po lewej stronie prawdziwego Maca.

Jestem pewien, że podczas działania na maszynie wirtualnej występuje pewien spadek wydajności, ale dla mnie to nie było zauważalne. Wyobrażam sobie, że szybki dysk flash pozwala zaoszczędzić tyle czasu, że zrekompensuje wszelkie koszty związane z uruchomieniem maszyny wirtualnej. Ogólnie rzecz biorąc, jest to najszybsze środowisko programistyczne, z jakiego kiedykolwiek korzystałem. Z Mountain Lion to… czytaj dalej.

CAVEAT: Mavericks, Yosemite i El Capitan działają zauważalnie wolniej jako gościnna maszyna wirtualna . Potwierdziłem, że w najnowszych i wcześniejszych wersjach zarówno Parallels, jak i Fusion, żaden produkt nie udostępnia akceleracji sprzętowej dla systemu Mac OS X jako system gościa. Działają w systemie Windows jako system operacyjny gościa, ale nie w systemie Mac OS X (jak na ironię).

Więc wszystko działa graficznie wolniej. Menu rozwijają się wolniej, a gdy przeciągasz wskaźnik myszy przez elementy menu, podświetlają się i rysują wolniej. Przenoszenie okien nie jest natychmiastowe. Animacje mogą być bardzo gwałtowne. Przewijanie jest rodzajem hiperaktywnym, serią niewielkich aktualizacji wizualnych, a nie płynnych. Podsumowując, nie jest to dla mnie żadna przeszkoda, a przynajmniej jeszcze nie. (Niedawno zaktualizowałem maszynę wirtualną z Mountain Lion).

Dlaczego Lion i Mountain Lion są tak wydajni wizualnie, podczas gdy nowsze Mac OS są powolne? Z tego, czego nauczyłem się w krótkiej notatce technicznej i wiadomości e-mail od firmy Parallels, Apple dostarczył lejka z Lion / Mountain Lion. Mieli bibliotekę, która pomogła zastąpić brak przyspieszenia sprzętowego grafiki. Ta biblioteka nie jest już dostępna w wersjach OS X o nazwach miejscowych, tylko w wersjach OS X o nazwach kotów.

Basil Bourque
źródło
-1

Chociaż działa, istnieją pewne problemy z użyciem VMWare Fusion 3 + Bootcamp.

Głównie uwierzytelnianie Win7 musi odbywać się przez głupi system telefoniczny MS. W przeciwnym razie uwierzytelnianie jest ważne tylko z jednej strony (macierzysty rozruch lub VMWare).

Ponadto dysk twardy wydaje się mrugać dość długo po uruchomieniu Win7 VMWare, ale może to „normalne”.

Mają min. 4 GB pamięci fizycznej - działa z 2 GB, ale działa bardzo wolno. Moja obecna konfiguracja maszyny wirtualnej to 1420 MB i 2 rdzenie dla maszyny wirtualnej. To ostatecznie zużywa około 2 GB pamięci dla VMWare (pozostawiając kolejne 2 GB dla mojego hosta OS X).

akauppi
źródło