Visual Studio: значительная разница в производительности на VMware Fusion против Bootcamp?


16

Я только что приобрел новый MacBook Pro и собирался установить Windows 7 через Bootcamp, чтобы я мог заниматься разработкой для Visual Studio, но я подумал, что было бы разумнее перенести свои не относящиеся к разработке материалы (электронная почта и т. Д.) На Mac и запустить Windows 7 через VMWare Fusion. Я также смотрю на разработку iPhone, так что мне было интересно, имеет ли это смысл?

Кто-нибудь имел опыт или сталкивался с проблемами при разработке бета-версии Visual Studio 2008/2010 для Windows 2007 (64- или 32-разрядной), работающей на VMWare Fusion? Или производительность намного хуже, чем вариант с двойной загрузкой?


Вам следует подождать с установкой Windows 7 через Boot Camp; Официальная поддержка Apple скоро будет доступна, но в настоящее время она глючит.
брэндстеттер

2
Я запускаю Windows 7 в Boot Camp, и я не видел никаких ошибок.
Слоты

1
Разве это не очевидно? Работать с Windows по сравнению с виртуальной средой, где весь доступ к оборудованию осуществляется через другой уровень программного обеспечения?
TFM

Ответы:


20

Я знаю, что в этом вопросе явно не упоминается Parallels, но, возможно, некоторые из моих настроек / опыта будут перенесены в настройки с VMWare Fusion. Я использую MacBook Pro на OS X 10.7.3 с памятью Intel Core i7 2,2 ГГц и 8 ГБ 1333 МГц DDR3 для своей оперативной памяти. Я использую версию Parallels - Parallels 7.

Несколько важных замечаний, прежде чем я войду в свою конфигурацию:

  • Я разработчик с доступом к MSDN. Под моей учетной записью MSDN у меня есть доступ к Office 2010, включая версию Mac (я упоминаю об этом, поскольку во многих случаях Office будет необходимостью и, следовательно, важным фактором - хотя я мог бы установить и то, и другое, есть также стоимость дискового пространства) , Это также означало, что стоимость здесь была менее важной, поскольку у меня был доступ ко всему, что мне было нужно, через MSDN.

  • Еще одна вещь, которую я должен отметить, - это то, что я не рекомендовал бы преобразовывать виртуальную машину VMWare в виртуальную машину Parallels, поскольку у меня возникло несколько проблем с этим, и в результате я сделал чистую установку.

  • Я занимаюсь разработкой как на своем Mac (через Eclipse и Aptana), так и на виртуальной машине Windows 7 (через Visual Studio)

Таким образом, после примерно 1 месяца настройки моей виртуальной машины я пришел к довольно хорошей конфигурации, в которой у меня очень плавная работа. Я был очень доволен этой конфигурацией, и она более удобна, чем альтернатива перезагрузки, чтобы добраться до моей машины с Windows. Ниже я расскажу о настройках Parallels, которые, по моему мнению, сделали это успешным, в дополнение к программному обеспечению, которое я использую на виртуальной машине, некоторым важным пунктам, касающимся настроек Windows 7, и программе за 1 доллар, от которой я бы хотел извлечь пользу для каждого владельца Mac (но на самом деле необходимость для любого, кто использует виртуальную машину на Mac):

Программное обеспечение VM:

  • Windows 7 Ultimate x64
  • Visual Studio 2010 Premium с большим количеством надстроек, таких как ReSharper, Mindscape Workbench, NuGet и т. Д.
  • SQL Server 2008 R2
  • Expression Blend 4
  • DAEMON Tools
  • Charles Proxy (я бы настоятельно рекомендовал это поверх Fiddler или, по крайней мере, в дополнение к нему, если вы собираетесь разрабатывать как на Mac, так и на ПК, - опция подписки для отладки SSL очень удобна - мне пришлось установить на обоих VM и Mac ... 127.0.0.1 не разрешается в одном и том же месте на моем Mac и VM)
  • ВАЖНО - я убедился, что ни один сервис не запускается при запуске через Start-> Run-> 'msconfig' - мне нравится использовать базы данных, такие как MongoDB и Neo4j, и я обычно запускаю их как сервисы, так как обычно я использую эти базы данных в производстве, так что это может быть немного трудным для управления, если я в конечном итоге запустить их на моем Windows-боксе (в зависимости от производственных настроек, которые я пытаюсь эмулировать)

Настройки ВМ:

Общая

  • Процессоры: 4 (из 8)
  • Память: 3072 МБ (из 8 ГБ)

Параметры

    Optimization
  • Производительность : быстрее Mac (это может быть не интуитивно понятно, но я обнаружил, что это помогло устранить узкие места, которые приводят к шумной системе и потенциальным проблемам с перегревом)
  • Включить адаптивный гипервизор : правда
  • Настроить Windows на скорость : правда
  • Питание : более длительное время автономной работы (в противном случае у меня возникают проблемы с перегревом)
  • Свободное пространство : автоматическое сжатие виртуальных жестких дисков: правда (это не вызвало проблем с производительностью, поэтому я оставил это включенным)

    Security
    
  • Для всех параметров установлено значение false, шифрование не включено, для Undo Disks установлено значение Disable

    Applications
    
  • Приостановить Windows, когда нет открытых приложений : true
  • Веб-страницы : Открыть в Mac
  • Электронная почта : Открыть в Mac

    Coherence
    
  • Использовать Crystal Mode : правда
  • Показать область уведомлений Windows в строке меню : false
  • Разрешить приложениям переключаться в полноэкранный режим : true
  • Отключить Windows Aero : false (если вы отключите это, вы получите более высокую производительность, я просто очень визуальный человек и решил, что мне нравится держать Aero включенным в режиме Coherence)

    Full Screen
    
  • Использовать Mac OS X в полноэкранном режиме : правда

    Advanced
    
  • SmartMouse : Авто

аппаратные средства

    Video
  • Видеопамять : 512 МБ (из 1 ГБ)
  • Включить 3D-ускорение : правда
  • Включить вертикальную синхронизацию : правда

Программное обеспечение Mac

  • Free Memory Pro: Mac, как известно, сделали ужасную работу по управлению невостребованной памятью. В некоторые моменты я запускаю свою виртуальную машину (автоматически занимает 3 ГБ с моей конфигурацией, пока приложение работает), два экземпляра Eclipse (разные конфигурации), Aptana, несколько сеансов браузера, несколько сеансов терминала, мой VPN и мой Office Приложения. На данный момент моя память может работать около 50-200 МБ - я обнаружил, что если я использую Free Memory Pro для очистки памяти один или два раза в день, мой Mac все еще работает без ЛЮБОГО чрезмерного шума или тепла и остается около 1,2 ГБ. свободной памяти, даже если все вышеупомянутые приложения открыты :) ИМХО, Mac должен прийти с этой программой бесплатно, но в следующий раз, когда вы отправляетесь поздно вечером в поездку к Венди ... просто воздержитесь от одного из этих меню за 1 доллар США 5 куски самородков и купить эту программу вместо этого - это

9

Я использовал виртуальную машину Win7 на VMware Fusion 3.0, как на Mac Pro, так и на MacBook Pro. У меня не было никаких проблем с производительностью, производительность виртуальной машины на обеих системах была очень хорошей. У меня были лучшие результаты с Win7, когда я настроил виртуальную машину на 1 ГБ оперативной памяти. (Полное раскрытие: я работаю на VMware Fusion.)

Я лично не пытался запустить Visual Studio на виртуальной машине, но люди, которые это сделали, сказали мне, что, пока исходный код, который вы компилируете, хранится на виртуальном жестком диске, время сборки хорошее, хотя и незначительное медленнее, чем родная производительность.

Я слышал, что хранение кода на «сетевом» диске (или на HGFS, или на NFS / CIFS на хосте, доступ к которому осуществляется через виртуальное устройство Ethernet) - плохая идея. Очевидно, производительность сборки в этой конфигурации довольно низкая.

Надеюсь это поможет!
Джейсон


4
В моем текущем проекте VS2012, Win2012, VMWare Fusion 5.0.1 с OS X 10.8.2: 9 секунд для сборки на виртуальном диске, 18 секунд с использованием Apple SMB, 50 секунд с использованием общих папок VMWare.
Брайан Райтер

2
Огромное замедление с общими папками VMWare.
тофутим

Значительное замедление с помощью общих папок VMware. Как для времени сборки, так и для запуска юнит-тестов.
бук

4

Некоторое время назад я убедил свою работу, чтобы я приобрел Mac Pro вместо предполагаемого, сопоставимого Lenovo (они полностью согласились с этой идеей, потому что в итоге она была примерно на 800 долларов дешевле, но Mac не всегда самые дорогие :))

Я использовал Fusion поверх Parallels из-за своего первоначального опыта работы с ранними версиями. У меня есть виртуальная машина Windows 7 x64, которую я использую для Visual Studio, и перенесу все остальное, что я могу, в OS X. Она отлично работала. VS2008 загружается быстро, строит где быстро и т. Д. И т. Д.

В последнее время я использую VS2010, и я заметил значительное снижение производительности. Я решил дать Parallels еще один шанс из-за всех последних обзоров производительности с версией 5. И Parallels, и Fusion отлично работают, но есть заметная разница в производительности с VS2010 на Parallels против Fusion.

Итак, на ваш первоначальный вопрос, я думаю, что вам было бы неплохо просто виртуализировать Windows для разработки, если вы можете перенести большую часть своей другой работы на OS X. Производительность прошла долгий путь с Fusion / Parallels, и это постоянная перезагрузка для переключения ваша ОС для повышения производительности. Если вы используете VS2010, я мог бы порекомендовать Parallels прямо сейчас из-за замедления, которое вы получаете с Fusion. (Я думаю, что это может быть связано с VS2010 с использованием WPF, который может быть быстрее внутри Parallels)


Это старый поток, но часть различий в производительности может быть связана с использованием аппаратного ускорения (UI) в VS2010. Работает отлично под Windows, но виртуальные машины (будь то Fusion, Parallels или VirtualBox) не очень хороши в ускорении GPU. Вы можете отключить это в VS2010 / 2012; лично не пробовал это, но может быть стоит.
3Dave

2

Я сделал оба, используя бета-версии Win7, и в конечном итоге предпочел использовать Boot Camp. Следует признать, что это 13-дюймовый MacBook Aluminium (модель, выпущенная в конце 2008 года) с 2 ГБ оперативной памяти.

Производительность VMWare была довольно хорошей и очень впечатляющей, но, поскольку в моем стеке разработчика не было полного господства машины, мне казалось, что он достаточно раздражительный, чтобы раздражать меня. (Поймите, что мой стек разработки был больше, чем VS - у меня были VS, SQL Express, CruiseControl.NET и т. Д.)

Я чувствовал, что производительность в Boot Camp была значительно лучше - но этого следует ожидать, так как вы говорите о нативной производительности. Boot Camp перезагружает вас в Windows, после чего Windows является единственной операционной системой, имеющей полный доступ к компьютеру.

Естественно, ваш пробег может отличаться, и производительность гораздо больше ощущается, чем метрика. Вы можете найти производительность виртуальной машины идеально. Вы можете найти это немного раздражающим. Вы можете обнаружить, что он достаточно хорош, поскольку не требует полной перезагрузки, и вы все равно можете запускать приложения Mac вместе со средой Windows. Вы можете предпочесть метод перезагрузки. Только вы можете сделать окончательный выбор компромисса.


Представьте себе, что сейчас вы используете этот стек разработки с 2 ГБ оперативной памяти ...
Даниэль

1

Если я делаю что-то быстрое, я запускаю Windows из раздела BootCamp, используя VMWare Fusion 2.0.6. Если я собираюсь заняться серьезной отладкой или исправлением, я перезагружаюсь с помощью BootCamp. BootCamp работает намного быстрее, но если большую часть моего времени я буду тратить на перезагрузку дважды, я выберу Fusion.

С другой стороны, Fusion не видит все ядра моего Mac Pro (я могу назначить ему только 2 ядра, когда я с радостью назначу 4-6 процессоров.), Поэтому использование BootCamp определенно максимизирует ресурсы, к которым имеет доступ XP к.


Fusion 3 увидит все ваши ядра. Tho Parallels 5 оказался значительно быстрее на моем Mac Pro с 8 ядрами и 10 ГБ. Visual Studio 2008 компилируется быстрее, а GDI + заметно быстрее, чем под VMware 3. Для чего я и пользуюсь, я использую оба продукта с момента их первых выпусков. В последние полтора года я использовал VMware 2.x поверх Parallels. Я думаю, что я возвращаюсь к параллелям. Чувствует себя менее глючным на этот раз. (VMware + Unity + Expose == не удалось, попробуйте).
Мартин Маркончини,

Fusion 3 позволяет мне использовать только четыре ядра в моем разделе bootcamp, а другие файлы Fusion - только два ядра. В любом случае слияние происходит слишком медленно, чтобы быть полезным. Единственный способ добиться той работы, которая была мне нужна вчера, - запустить в bootcamp. Я перешел из Parallels в прошлом году из-за showtopper, который заставил меня загрузиться в bootcamp. Я вообще ненавижу тратить деньги на Windows, и мне очень не нравится обновлять два эмулятора Windows. Я, вероятно, просто отправлю запрос на настоящий ПК в ИТ-отдел, чтобы позаботиться о моей работе в Windows и сохранить мой Mac Pro незагрязненным.
Марк Талман

0

Я не могу комментировать Windows 7 (или даже Vista), работающую на Fusion, но я использовал Visual Studio 2008 на Win XP внутри Fusion, и она отлично работала, даже на MacBook. Я не хочу быть парнем, спрашивающим, почему вы хотите это сделать, но ... зачем вам Win7, а не XP?

Основной причиной, по которой я пошел с XP по сравнению с Vista, была дополнительная нагрузка Vista (и Win7) на видеокарту, память и жесткий диск. Теперь вы, очевидно, будете в лучшем положении с MacBook Pro и его дополнительными графическими возможностями; но нет никакой возможности обойтись без дополнительной памяти и большого количества произвольного HD-доступа, который навязывают Vista и Win7. Да, вы можете отключить многие функции, которые вызывают использование памяти и диска, но даже тогда налог кажется выше, чем в XP. Достаточно о том, «почему Win7».

С точки зрения производительности вам понадобится много оперативной памяти и быстрый HD. Я обновил до 4 ГБ и получил хороший 7200rpm HD, и моя производительность была отличной (часто лучше, чем при работе на старом двухъядерном компьютере Athlon). Возможность запускать VS и по-прежнему использовать все мои любимые программы для Mac - это то, что мне все еще не хватает (у меня больше нет MacBook), и я очень рекомендую эту настройку.


0

Я использовал Vista 64 + Visual Studio 2008 в режимах BootCamp и VMWare Fusion, и оба работают хорошо. Если бы я «играл» с каким-то кодом, а не программировал, я мог бы сделать это в Fusion без какого-либо существенного снижения производительности. Если бы я сосредоточился на своем коде и мне нужно было что-то сделать, я бы перезагрузился в режиме BootCamp. Это не только гарантировало, что все мои ресурсы были выделены для Vista / Visual Studio, но также помогло убедиться, что ничто в Mac-Land не отвлечет меня от работы.

Важный

Самый большой совет, который я могу вам дать, - если у вашего MBP есть две видеокарты, и вы загружаетесь в Windows с помощью BootCamp, Windows будет использовать более мощную видеокарту. Это создает дополнительное тепло, и ваш MBP начнет нагреваться. Обычно в Mac-Land вентиляторы ускоряются, чтобы компенсировать это, но в Windows-BootCamp нет ничего, чтобы сказать поклонникам ускорить, и ваш MBP начнет ОЧЕНЬ нагреваться.

Хотя есть простое решение, которое хорошо работает. В Mac-Land найдите приложение под названием SMC Fan Control (вы можете найти его на macupdate.com). Установите его и перед загрузкой в ​​Windows с помощью BootCamp перейдите в «Настройки Mac», найдите SMC и по умолчанию ваши поклонники вращаются со скоростью около 4500 об / мин. Это будет немного больше шума, но все равно будет достаточно тихо. Теперь не выключайте OS-X, перезагрузите компьютер, в нужный момент нажмите клавишу BootCamp и зайдите в Windows. После перезапуска контроллера вентиляторов на материнской плате все равно будет думать, что ему нужно вращать вентиляторы при новой настройке, и он будет продолжать это делать до тех пор, пока вы полностью не выключите MBP или не перезагрузитесь к OS-X и не измените настройку на более медленную. скорость (я бегаю около 1300 нормально). Это делает разработку с дивана в BootCamp намного приятнее, чем вы выиграли »


Я никогда не использовал bootcamp ни с VMware, ни с Parallels, но я понимаю, что каждый установит инструменты. Что произойдет, если вы загрузитесь изначально в boot camp? инструменты не будут «беспокоить»?
Мартин Маркончини,

1
У меня не было проблем с инструментами VMWare при работе в режиме bootcamp. IIRC у вас есть несколько сетевых адаптеров, и он использует один или другой в зависимости от режима загрузки. Нет проблем, работающих в обоих режимах, хотя.
Крис Портер

0

Хотя я не могу говорить о запуске Windows или Visual Studio в виртуальной машине на Mac в Fusion, я могу рассказать о разработке iPhone (для которой требуется Xcode и Mac OS X) в виртуальной машине Parallels.

iOS разработка

Я занимаюсь разработкой iOS с Xcode, работающим на виртуальной машине Parallels (9, 10 и 11) на MacBook Pro Retina с терабайтной флешкой.

Как правило, это работает очень хорошо. Самый большой плюс в том, что все мои работы связаны в одной среде. В частности, Apple хранит ключи безопасности в связке ключей. Попытка извлечь это из реального Mac и переустановить на другом - загадка и боль. С помощью виртуальной машины я иногда выполняю ручное резервное копирование локально и / или на внешний диск. Получение нового Mac или переключение на другой Mac означает только одну большую копию файла, и я готов к работе.

Я даже использую приложение Notes и приложение Reminders в этой виртуальной машине для своей работы по разработке. Я не активирую iCloud внутри этой виртуальной машины, поэтому он остается локальным для виртуальной машины.

Когда Mountain Lion работал в качестве гостевой ОС на виртуальной машине, она работала настолько хорошо, что я запутался, когда был на настоящем Mac и на виртуальном Mac. В виртуальной машине мне приходилось переключать док-станцию ​​в правой части экрана, чтобы отличаться от левой док-станции реального Mac.

Я уверен, что при работе на ВМ наблюдается некоторое снижение производительности, но оно прошло для меня незаметно. Я полагаю, что быстрая флешка экономит столько времени, что компенсирует любые издержки при работе с виртуальной машиной. В целом, это самая быстрая среда разработки, которую я когда-либо использовал. С Горным Львом, это ... читать дальше.

CAVEAT: Mavericks, Yosemite и El Capitan работают заметно медленнее в качестве гостевой виртуальной машины . Я подтвердил, что в последних и предыдущих версиях Parallels и Fusion ни один из продуктов не делает аппаратное ускорение графики доступным для Mac OS X в качестве гостевой ОС. Они делают для Windows в качестве гостевой ОС, но не для Mac OS X (как ни странно).

Так что все графическое изображение работает медленнее. Меню выпадают медленнее, и когда вы перемещаете указатель мыши через элементы меню, они выделяются и рисуют медленнее. Перемещение окон не совсем сразу. Анимации могут быть отрывистыми. Прокрутка является чем-то сверхактивным, серией небольших визуальных обновлений, а не плавным. В общем, для меня это не шоу-стопор, по крайней мере, пока. (Я только недавно обновил виртуальную машину от Mountain Lion.)

Почему Lion и Mountain Lion были настолько эффективны визуально, в то время как более поздние Mac OS работают медленно? Из того, что я узнал в краткой технической заметке и электронном письме от компании Parallels, Apple предоставила прокладку с Lion / Mountain Lion. У них была какая-то библиотека, которая помогла заменить отсутствие аппаратного ускорения графики. Эта библиотека больше не доступна с версиями OS X с топонимом, только с версиями OS X с кошачьими именами.


-1

Хотя это работает, есть некоторые ошибки с использованием VMWare Fusion 3 + Bootcamp.

В основном аутентификация Win7 должна быть сделана через глупую телефонную систему MS. В противном случае аутентификация действительна только на одной стороне (собственная загрузка или VMWare).

Кроме того, жесткий диск мигает довольно долго после загрузки Win7 VMWare, но, возможно, это «нормально».

Имейте минимум 4 ГБ физической памяти - работает с 2 ГБ, но очень медленно. Моя текущая настройка виртуальной машины составляет 1420 МБ и 2 ядра для виртуальной машины. В итоге для VMWare используется около 2 ГБ памяти (оставляя еще 2 ГБ для моего хоста OS X).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.