Visual Studio: diferença significativa de desempenho no VMware Fusion vs Bootcamp?


16

Acabei de comprar um novo MacBook Pro e estava pensando em instalar o Windows 7 via Bootcamp, para que eu possa fazer o trabalho de desenvolvimento do Visual Studio, mas estava pensando que faria mais sentido mover minhas coisas que não são de desenvolvimento (email etc.) para o diretório Mac e inicie o Windows 7 via VMWare Fusion. Eu também estou olhando para fazer o desenvolvimento do iPhone, então estava pensando se isso faria mais sentido?

Alguém já teve alguma experiência ou teve problemas ao desenvolver no Visual Studio 2008/2010 beta no Windows 2007 (64 ou 32 bits) em execução no VMWare Fusion? Ou o desempenho é muito pior que uma opção de inicialização dupla é o melhor caminho a percorrer?


Você deve esperar para instalar o Windows 7 via Boot Camp; o suporte oficial da Apple chegará em breve, mas atualmente é de buggy.
Brandstaetter

2
Estou executando o Windows 7 no campo de treinamento agora e não vi nenhum erro.
21310 Slaks

11
Não é óbvio? Executando o Windows de forma nativa versus em um ambiente virtual em que todo o acesso ao hardware é feito por outra camada de software?
TFM

Respostas:


20

Sei que esta pergunta não menciona explicitamente o Parallels, mas talvez algumas das minhas configurações / experiências sejam transferíveis para configurações com o VMWare Fusion. Estou executando um MacBook Pro executando no OS X 10.7.3 com uma memória Intel Core i7 de 2,2 GHz e 8 GB de 1333 MHz DDR3 para minha RAM. A versão do Parallels que estou usando é o Parallels 7.

Algumas notas importantes antes de entrar na minha configuração:

  • Sou desenvolvedor com acesso ao MSDN. Na minha conta do MSDN, tenho acesso ao Office 2010, incluindo a versão Mac (menciono isso porque, em muitos casos, o Office será uma necessidade e, portanto, uma consideração importante - embora eu possa instalar os dois, também há o custo em espaço em disco) . Isso também significava que o custo era menos preocupante aqui, pois eu tinha acesso a tudo o que precisava via MSDN.

  • Outra coisa que devo observar é que não recomendaria a conversão de uma máquina virtual VMWare em uma máquina virtual Parallels, pois tive vários problemas com isso e acabei fazendo uma instalação limpa.

  • Estou desenvolvendo no meu Mac (via Eclipse e Aptana) e no Windows 7 VM (via Visual Studio)

Então, após cerca de 1 mês de configuração da minha VM, eu obtive uma configuração bastante agradável, onde estou apresentando um desempenho muito suave. Fiquei muito feliz com essa configuração e é bastante conveniente a alternativa de reiniciar para acessar minha máquina Windows. Abaixo, abordarei as configurações do Parallels que considero bem-sucedidas, além do software que estou usando na VM, alguns itens importantes sobre as configurações do Windows 7 e um programa de US $ 1 que eu sugeriria que todos os proprietários de Mac se beneficiariam (mas realmente necessidade para quem usa uma VM em um Mac):

Software VM:

  • Windows 7 Ultimate x64
  • Visual Studio 2010 Premium com muitos suplementos, como ReSharper, Mindscape Workbench, NuGet, etc ...
  • SQL Server 2008 R2
  • Mistura de Expressão 4
  • Daemon Tools
  • Charles Proxy (eu recomendo isso sobre, ou pelo menos além do Fiddler, se você estiver desenvolvendo no seu Mac e PC - o recurso de inclusão para depuração SSL é muito bom - eu tive que instalar no meu VM e Mac ... 127.0.0.1 não resolve no mesmo local no meu Mac e VM)
  • IMPORTANTE - Garanto que nenhum serviço esteja sendo executado na inicialização via Iniciar-> Executar-> 'msconfig' - eu gosto de usar bancos de dados como MongoDB e Neo4j e geralmente os executo como serviços, pois geralmente é assim que vou usar esses bancos de dados na produção, então isso pode ser um pouco difícil de gerenciar se eu acabar executando esses itens na minha caixa do Windows (dependendo das configurações de produção que estou tentando emular)

Configurações da VM:

Geral

  • CPUs: 4 (de 8)
  • Memória: 3072 MB (de 8 GB)

Opções

    Optimization
  • atuação : Mac mais rápido (isso pode não ser intuitivo, mas descobri que ele ajudou a eliminar gargalos que resultam em um sistema barulhento e possíveis problemas de superaquecimento)
  • Ativar Adaptive Hypervisor : true
  • Ajuste o Windows para velocidade : true
  • Energia : Vida útil da bateria mais longa (caso contrário, encontro problemas de superaquecimento)
  • Espaço Livre : Compactar automaticamente os discos rígidos virtuais: true (isso não causou nenhum problema de desempenho para mim, por isso continuei ativando)

    Security
    
  • Todas as opções estão definidas como false, Criptografia não está ativada, Desfazer discos está definido como Desativado

    Applications
    
  • Pausar o Windows quando nenhum aplicativo estiver aberto : true
  • Páginas da Web : Abrir no mac
  • Email : Abrir no mac

    Coherence
    
  • Use o Modo Cristal : true
  • Mostrar área de notificação do Windows na barra de menus : false
  • Permitir que os aplicativos alternem para tela cheia : true
  • Desativar o Windows Aero : false (você obterá melhor desempenho se desabilitar isso, sou apenas uma pessoa muito visual e decidi que gostaria de manter o Aero no modo Coherence)

    Full Screen
    
  • Use o Mac OS X em tela cheia : true

    Advanced
    
  • SmartMouse : Auto

Hardware

    Video
  • Memória de vídeo : 512 MB (de 1 GB)
  • Ativar aceleração 3D : true
  • Ativar sincronização vertical : true

Software para Mac

  • Memória Grátis Pro: Sabe-se que os Macs fazem um trabalho terrível no gerenciamento de memória não reclamada. Em alguns momentos, estou executando minha VM (ocupa automaticamente 3 GB com a minha configuração enquanto um aplicativo estiver em execução), duas instâncias do Eclipse (configurações diferentes), Aptana, várias sessões do navegador, várias sessões do terminal, várias sessões do terminal, minha VPN e meu Office formulários. Nesse momento, minha memória pode estar rodando em torno de 50-200 mb - descobri que, se eu usar o Free Memory Pro para limpar minha memória uma ou duas vezes por dia, meu Mac ainda funciona sem QUALQUER ruído ou calor excessivo e fica em torno de 1,2 GB de memória livre, mesmo com todos os aplicativos mencionados acima sendo abertos :) IMHO, os Macs devem vir com este programa de graça, mas da próxima vez que você estiver em uma viagem noturna até Wendy's ... renuncie a um desses menus de US $ 1 5 peça pepitas e compre este programa - é '

9

Eu usei uma máquina virtual Win7 no VMware Fusion 3.0, tanto no Mac Pro quanto no MacBook Pro. Não tive problemas de desempenho, o desempenho da máquina virtual nos dois sistemas foi muito bom. Eu obtive os melhores resultados com o Win7 quando configurei a máquina virtual para ter 1 GB de RAM. (Divulgação completa: trabalho no VMware Fusion.)

Eu pessoalmente não tentei executar o Visual Studio em uma VM, mas as pessoas que o fizeram me disseram que, desde que o código-fonte que você está compilando esteja armazenado no disco rígido virtual, os tempos de compilação são bons, embora sejam um pouco mais lento que o desempenho nativo.

Ouvi dizer que armazenar o código em uma unidade de "rede" (um compartilhamento HGFS ou um compartilhamento NFS / CIFS no host, acessado por um dispositivo Ethernet virtual) é uma má idéia. Aparentemente, o desempenho da compilação é muito ruim nessa configuração.

Espero que isto ajude!
Jason


4
No meu projeto atual VS2012, Win2012, VMWare Fusion 5.0.1 com OS X 10.8.2: 9 segundos para compilar no disco virtual, 18 segundos usando Apple SMB, 50 segundos usando pastas compartilhadas VMWare.
22912 Brian Brian Reiter

2
Grande lentidão com as pastas compartilhadas do VMWare.
precisa saber é

Grande desaceleração usando as pastas compartilhadas do VMware. Tanto para tempos de construção quanto para testes de unidade em execução.
Bouke

4

Eu convenci meu trabalho há um tempo para conseguir um Mac Pro em vez do Lenovo comparável e pretendido (eles compraram toda a idéia porque acabou sendo cerca de US $ 800,00 mais baratos, os macs nem sempre são os mais caros :))

Eu estava usando o Fusion sobre Parallels, devido à minha experiência original com as versões anteriores. Eu tenho uma VM do Windows 7 x64 que uso no Visual Studio e descarrego tudo o que posso para o OS X. Ele estava funcionando muito bem. O VS2008 é carregado rapidamente, constrói onde é rápido etc. etc.

Ultimamente tenho usado o VS2010 e notei um impacto significativo no desempenho. Decidi dar uma nova chance ao Parallels devido a todas as análises mais recentes sobre desempenho com a versão 5. O Parallels e o Fusion funcionam muito bem, mas há uma diferença de desempenho muito visível com o VS2010 no Parallels vs Fusion.

Então, para a sua pergunta original, acho que seria bom virtualizar o Windows para desenvolvimento, se você puder transferir grande parte do seu trabalho para o OS X. O desempenho percorreu um longo caminho com o Fusion / Parallels e é difícil reinicializar continuamente para alternar seu sistema operacional para o aumento de desempenho. Se você estiver usando o VS2010, talvez eu recomende o Parallels agora, simplesmente por causa da desaceleração que ocorre com o Fusion. (Acho que isso pode estar relacionado ao VS2010 usando o WPF, que pode ser mais rápido dentro do Parallels)


Este é um encadeamento antigo, mas parte da diferença de desempenho pode ser devido ao uso da aceleração de hardware (UI) no VS2010. Funciona muito bem no Windows, mas as VMs (seja Fusion, Parallels ou VirtualBox) não são muito boas na aceleração da GPU. Você pode desativar isso no VS2010 / 2012; não tentei pessoalmente, mas pode valer a pena.
precisa saber é o seguinte

2

Eu fiz ambos, usando betas Win7 e, finalmente, preferi usar o Boot Camp. É certo que este é um MacBook Aluminium de 13 polegadas (o modelo lançado no final de 2008) com 2 GB de RAM.

O desempenho do VMWare foi muito bom e impressionante, mas como minha pilha de desenvolvedores não tinha o reinado completo da máquina, parecia bastante esquisita o suficiente para me incomodar. (Entenda que minha pilha de desenvolvimento foi um pouco mais do que o VS - eu tinha o VS, SQL Express, CruiseControl.NET etc.)

Eu senti que o desempenho no Boot Camp era consideravelmente melhor - mas isso é de se esperar, pois você está falando sobre desempenho nativo. O Boot Camp reinicia você no Windows, quando o Windows é o único SO em execução e tem acesso total à máquina.

Naturalmente, sua milhagem pode variar e o desempenho é muito maior na "sensação" do que nas métricas. Você pode encontrar o desempenho da VM perfeitamente elegante. Você pode achar um pouco esquisito. Você pode achar que é bom o suficiente, pois não requer uma reinicialização completa e ainda é possível executar os aplicativos do Mac ao lado do ambiente do Windows. Você pode preferir o método de reinicialização. Somente você pode fazer a determinação final do trade-off.


Imagine correr esta pilha dev com 2GB de RAM agora ...
Daniel

1

Se estou fazendo algo rápido, corro o Windows a partir da minha partição BootCamp usando o VMWare Fusion 2.0.6. Se eu estiver fazendo alguma depuração ou correção séria, reinicio usando o BootCamp. O BootCamp é muito mais rápido, mas se a maior parte do meu tempo for gasta na reinicialização duas vezes, optarei pelo Fusion.

Por outro lado, o Fusion não vê todos os núcleos do meu Mac Pro (só posso atribuir até dois núcleos quando atribuir de quatro a seis processadores). Portanto, usar o BootCamp definitivamente maximiza os recursos que o XP tem acesso para.


O Fusion 3 verá todos os seus núcleos. Tho Parallels 5 provou ser consideravelmente mais rápido no meu Mac Pro com 8 núcleos e 10 gb. O Visual Studio 2008 compila mais rapidamente e o GDI + é visivelmente mais rápido que no VMware 3. Pelo que vale a pena, eu uso os dois produtos desde o lançamento inicial. No ano passado e meio, usei o VMware 2.x sobre o Parallels. Eu acho que vou voltar aos paralelos. Desta vez, parece menos buggy. (VMware + Unity + Expose == falha, tente).
Martin Marconcini

O Fusion 3 me permite usar apenas quatro núcleos na partição do bootcamp e os outros arquivos do Fusion permitem apenas dois núcleos. De qualquer maneira, a fusão é lenta demais para ser útil. A única maneira de conseguir realizar o trabalho que precisava ontem era executar o bootcamp. Eu mudei do Parallels no ano passado por causa de um showstopper que me forçou a entrar no bootcamp. Eu odeio gastar dinheiro com o Windows e realmente não gosto de atualizar dois emuladores do Windows. Provavelmente, enviarei à TI um PC real para cuidar do meu trabalho no Windows e manter meu Mac Pro sem contaminação.
Mark Thalman

0

Não posso comentar sobre o Windows 7 (ou mesmo o Vista) em execução no Fusion, mas usei o Visual Studio 2008 no Win XP dentro do Fusion e ele foi ótimo, mesmo em apenas um MacBook. Eu não quero ser o cara perguntando por que você quer fazer isso, mas ... por que você precisa do Win7 em vez do XP?

A principal razão pela qual eu usei o XP versus o Vista foi um fardo extra que o Vista (e o Win7) colocaram na placa de vídeo, na memória e no disco rígido. Agora você obviamente estará em uma posição melhor com o MacBook Pro e seus recursos gráficos adicionais; mas não há maneira de contornar a memória adicional e grandes quantidades de acesso aleatório em HD que o Vista e o Win7 impõem. Sim, você pode desativar muitos dos recursos que causam o uso de memória e disco, mas mesmo assim o imposto parece ser mais alto do que no XP. Chega de "por que Win7".

De uma perspectiva de desempenho, você deseja ter muita RAM e um HD rápido. Atualizei para 4 GB e um ótimo HD de 7200 rpm e meu desempenho foi ótimo (geralmente melhor do que rodar nativo em uma máquina Athlon de núcleo duplo antiga). A capacidade de executar o VS e ainda usar todos os meus programas favoritos do Mac é algo que ainda sinto falta (não tenho mais o MacBook) e recomendo essa configuração.


0

Eu usei o Vista 64 + Visual Studio 2008 nos modos BootCamp e VMWare Fusion e ambos apresentam bom desempenho. Se eu estivesse "brincando" com algum código e não codificando atentamente, poderia fazê-lo no Fusion sem nenhum impacto significativo no desempenho. Se eu estivesse focando no meu código e precisasse fazer alguma coisa, reiniciaria no modo BootCamp. Isso não apenas garantiu que todos os meus recursos fossem dedicados ao Vista / Visual Studio, mas também ajudou a garantir que nada no Mac-Land me distraísse do trabalho.

Importante

A maior dica que posso dar é que, se o seu MBP tiver duas placas de vídeo e você inicializar no Windows usando o BootCamp, o Windows usará a placa de vídeo mais poderosa. Isso cria calor adicional e seu MBP começará a se aquecer. Normalmente, no Mac-Land, os fãs aceleram para compensar, mas no Windows-BootCamp não há nada para dizer aos fãs para acelerar e seu MBP começará a ficar MUITO quente.

Existe uma solução simples que funciona bem. No Mac-Land, procure um aplicativo chamado SMC Fan Control (você pode encontrá-lo em macupdate.com). Instale-o e antes de inicializar no Windows usando o BootCamp, vá para Preferências do Mac, localize o SMC e defina seus fãs como giros a 4500 rpm. Isso fará um pouco mais de barulho, mas continuará razoavelmente silencioso. Agora, não desligue o OS-X, reinicie, pressione a tecla BootCamp no momento certo e entre no Windows. Ao executar uma reinicialização, o controlador do ventilador na placa-mãe continuará pensando que precisa girar os ventiladores na nova configuração e continuará a fazê-lo até você desligar o MBP completamente ou reiniciar o OS-X e alterar a configuração para uma velocidade mais lenta. velocidade (eu corro cerca de 1300 normalmente). Isso torna o desenvolvimento do sofá no BootCamp muito mais agradável à medida que você ganha '


Nunca usei o bootcamp com o VMware ou o Parallels, mas entendo que cada um instalará as ferramentas. O que acontece se você inicializar nativamente no campo de treinamento? as ferramentas não “incomodam”?
1313 Martin Marconcini

11
Não tive problemas com as ferramentas VMWare ao executar no modo bootcamp. IIRC você possui vários adaptadores de rede e ele usa um ou outro, dependendo do modo de inicialização. Porém, não há problemas em execução nos dois modos.
31810 Chris Porter

0

Embora não consiga falar com o Windows ou o Visual Studio em uma VM em um Mac no Fusion, posso falar com a parte sobre o desenvolvimento do iPhone (que requer o Xcode e o Mac OS X) em uma VM Parallels.

Desenvolvimento iOS

Eu desenvolvo o iOS com o Xcode em execução em uma máquina virtual Parallels (9, 10 e 11) em um MacBook Pro Retina com unidade flash de terabytes.

Geralmente isso funciona muito bem. A maior vantagem de ter todas as minhas coisas relacionadas ao trabalho em um único ambiente. Especificamente, a Apple armazena chaves de segurança no chaveiro. Tentar extrair isso de um Mac real e reinstalar em outro é um mistério e uma dor. Com uma VM, faço backups ocasionais ocasionais localmente e / ou em uma unidade externa. Obter um novo Mac ou mudar para outro Mac significa apenas uma cópia grande do arquivo; então, estou pronto para funcionar.

Eu até uso o aplicativo Notes e o aplicativo Reminders nessa VM para o meu trabalho de desenvolvimento. Eu não ativei o iCloud nessa VM, portanto ele permanece local na VM.

Com o Mountain Lion funcionando como SO convidado na máquina virtual, funcionou tão bem que fiquei confuso quando estava no Mac real e quando estava no Mac virtual. Na VM, tive que mudar meu Dock para o lado direito da tela para diferenciar o Dock do lado esquerdo do Mac real.

Estou certo de que há alguma penalidade de desempenho ao executar na VM, mas isso foi imperceptível para mim. Imagino que a rápida unidade flash economize tanto tempo que compensa qualquer sobrecarga na execução da VM. No geral, esse é o ambiente de desenvolvimento mais rápido que já usei. Com o Mountain Lion, isso é ... continue a ler.

CAVEAT: Mavericks, Yosemite e El Capitan ficam visivelmente mais lentos como uma VM convidada . Confirmei que, nas versões mais recentes e anteriores do Parallels e Fusion, nenhum produto disponibiliza a aceleração de hardware gráfico para o Mac OS X como SO convidado. Eles funcionam no Windows como SO convidado, mas não no Mac OS X (ironicamente).

Portanto, tudo o gráfico corre mais devagar. Os menus ficam mais lentos e, à medida que você arrasta o ponteiro do mouse pelos itens de menu, eles realçam e desenham mais lentamente. Mover janelas não é muito imediato. As animações podem ser herky-jerky. A rolagem é um pouco hiperativa, uma série de pequenas atualizações visuais em vez de suaves. Tudo em tudo, não é um empecilho para mim, pelo menos ainda não. (Atualizei recentemente a VM apenas do Mountain Lion.)

Por que o Lion e o Mountain Lion tiveram tanto desempenho visual enquanto os Mac OSs posteriores são lentos? Pelo que aprendi em uma breve nota técnica e e-mail da empresa Parallels, a Apple forneceu um calço ao Lion / Mountain Lion. Eles tinham alguma biblioteca que ajudou a substituir a falta de aceleração de hardware gráfico. Essa biblioteca não está mais disponível com as versões do OS X nomeadas por local, apenas com as versões do OS X denominadas por felinos.


-1

Enquanto isso funciona, existem algumas dicas com o uso do VMWare Fusion 3 + Bootcamp.

Principalmente, a autenticação do Win7 precisa ser feita pelo sistema telefônico tolo da Microsoft. Caso contrário, a autenticação será válida apenas de um lado (inicialização nativa ou VMWare).

Além disso, o disco rígido parece piscar bastante depois da inicialização do Win7 VMWare, mas talvez isso seja "normal".

Possui 4 GB de memória física - funciona com 2 GB, mas é lento demais. Minha configuração atual da VM é de 1420 MB e 2 núcleos para a VM. Isso acaba usando cerca de 2 GB de memória para o VMWare (deixando outros 2 GB para o meu host OS X).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.