Visual Studio:VMware Fusion与Bootcamp在性能上有显着差异吗?


16

我刚刚购买了新的MacBook Pro,并正在考虑通过Bootcamp安装Windows 7,以便我可以进行Visual Studio开发工作,但是我认为将非开发工作(电子邮件等)移至Mac并通过VMWare Fusion启动Windows 7。我也正在考虑进行iPhone开发,因此想知道是否更有意义?

是否有人对在VMWare Fusion上运行的Windows 2007(64或32位)上的Visual Studio 2008/2010 beta版中进行开发有任何经验或遇到问题?还是双引导选项是更好的选择,性能会差很多吗?


您应该等待通过Boot Camp安装Windows 7。Apple的官方支持即将推出,但目前尚不存在。
brandtaetter

2
我现在正在新手训练营中运行Windows 7,但没有看到任何错误。
SLaks

1
这不是很明显吗?本机运行Windows还是在虚拟环境中运行Windows,而虚拟环境中所有对硬件的访问都通过另一层软件进行?
TFM

Answers:


20

我知道这个问题没有明确提到Parallels,但是也许我的某些设置/经验可以通过VMWare Fusion转移到设置。我正在运行在OS X 10.7.3上运行的MacBook Pro,我的RAM带有Intel Core i7 2.2GHz和8 GB 1333 MHz DDR3内存。我正在使用的Parallels版本是Parallels 7。

在进入配置之前,请注意以下重要事项:

  • 我是具有MSDN访问权限的开发人员。在我的MSDN帐户下,我可以访问包括Mac版本在内的Office 2010(我提到这一点是因为在许多情况下,Office是必需的,因此是重要的考虑因素-虽然我可以同时安装,但磁盘空间也存在成本) 。这也意味着在这里成本不再是问题,因为我可以通过MSDN访问所需的一切。

  • 我应该注意的另一件事是,我不建议将VMWare虚拟机转换为Parallels虚拟机,因为我在此过程中遇到了几个问题,最终进行了全新安装。

  • 我正在Mac(通过Eclipse和Aptana)和Windows 7 VM(通过Visual Studio)上进行开发

因此,在配置虚拟机大约1个月之后,我得出了一个相当不错的配置,在该配置下,我的性能非常平稳。我对此配置感到非常满意,与重新引导进入Windows机器的替代方法相比,它非常方便。下面,我将介绍我认为已成功实现的Parallels设置,除了我在VM上使用的软件,有关Windows 7设置的一些重要事项以及我建议每个Mac所有者都会从中受益的1美元程序(但实际上是在Mac上使用VM的用户的必要性):

虚拟机软件:

  • Windows 7旗舰版x64
  • 带大量插件的Visual Studio 2010 Premium,例如ReSharper,Mindscape Workbench,NuGet等。
  • SQL Server 2008 R2
  • 表达混合4
  • 守护程序工具
  • Charles Proxy(如果您要同时在Mac和PC上进行开发,我强烈建议在Fiddler上(或至少在Fiddler之外)使用它-SSL调试的可选功能非常好-我必须在我的计算机上同时安装VM和Mac ...在Mac和VM上127.0.0.1无法解析到同一位置)
  • 重要 -我已经确保通过Start-> Run->'msconfig'在启动时没有运行任何服务-我倾向于使用MongoDB和Neo4j之类的数据库,并且通常将它们作为服务运行,因为这通常就是我将使用这些数据库的方式在生产中,如果最终在Windows机器上运行它们,可能会有些麻烦(取决于我要模拟的生产设置)

虚拟机设置:

一般

  • CPU:4个(共8个)
  • 内存:3072 MB(8 GB以上)

选件

    Optimization
  • 性能:更快的Mac(这可能不直观,但是我发现它有助于消除导致系统嘈杂和潜在过热问题的瓶颈)
  • 启用自适应管理程序:true
  • 调整Windows速度:true
  • 电源:电池寿命更长(否则我会遇到过热问题)
  • 可用空间:自动压缩虚拟硬盘:正确(这对我没有造成任何性能问题,因此我一直坚持下去)

    Security
    
  • 所有选项均设置为false,未启用加密,撤消磁盘设置为禁用

    Applications
    
  • 没有打开任何应用程序时暂停Windows:true
  • 网页:在Mac中打开
  • 电子邮件:在Mac中打开

    Coherence
    
  • 使用水晶模式:true
  • 在菜单栏中显示Windows通知区域:false
  • 允许应用切换到全屏:true
  • 禁用Windows Aero:false(如果禁用此功能,您将获得更好的性能,我只是一个非常直观的人,因此我决定将Aero保持在连贯模式下运行)

    Full Screen
    
  • 使用Mac OS X全屏显示:是

    Advanced
    
  • SmartMouse:自动

硬件

    Video
  • 显存:512 MB(1 GB以上)
  • 启用3D加速:true
  • 启用垂直同步:true

Mac软件

  • Free Memory Pro:众所周知,Mac在管理无人认领的内存方面做得很糟糕。在某些时候,我正在运行我的VM(只要运行应用程序,配置将自动占用3 GB),两个Eclipse实例(不同的配置),Aptana,几个浏览器会话,几个终端会话,我的VPN和Office应用程序。此时,我的内存可能在50-200 mb左右运行-我发现如果我每天使用Free Memory Pro清理一次或两次内存,则我的Mac仍可以正常运行而没有任何噪音或热量,并且保持1.2 GB左右即使上面提到的所有应用程序都处于打开状态,也可以释放可用内存:)恕我直言,Mac应该免费提供此程序,但下次您去Wendy's进行深夜之旅时,只需放弃那些$ 1菜单之一5块金,然后购买此程序-它是

9

我已经在Mac Pro和MacBook Pro的VMware Fusion 3.0上使用了Win7虚拟机。我没有任何性能问题,两个系统上的虚拟机性能都非常好。将虚拟机配置为具有1 GB的RAM时,使用Win7可获得最佳结果。(全部披露:我正在研究VMware Fusion。)

我还没有亲自尝试在VM中运行Visual Studio,但是这样做的人告诉我,只要您要编译的源代码存储在虚拟硬盘上,构建时间就可以了,尽管它们的时间略长。比本地性能慢。

我听说将代码存储在“网络”驱动器(主机上的HGFS共享或NFS / CIFS共享,可以通过虚拟以太网设备访问)上是个坏主意。显然,在此配置中,构建性能非常差。

希望这可以帮助!
杰森


4
在我当前的项目VS2012,Win2012,带有OS X 10.8.2的VMWare Fusion 5.0.1中:在虚拟磁盘上构建需要9秒,使用Apple SMB需要18秒,使用VMWare共享文件夹需要50秒
Brian Reiter 2012年

2
VMWare共享文件夹的大幅降低。
tofutim

使用VMware Shared Folders的主要速度下降。用于构建时间和运行单元测试。
2015年

4

我说服了我的作品,让我买了Mac Pro而不是预定的,类似的Lenovo(他们买了这个主意,因为它最终便宜了约800.00美元,Mac并不总是最贵的:))

由于我对早期版本的原始经验,我一直在使用Fusion over Parallels。我有一个用于Visual Studio的Windows 7 x64 VM,并将其他所有功能都可以卸载到OSX。它运行良好。VS2008快速加载,快速构建等。

最近,我一直在使用VS2010,我注意到它对性能产生了重大影响。由于有关版本5的所有最新评论,我决定再给Parallels再试一次。Parallels和Fusion都可以很好地工作,但是VS2010在Parallels vs Fusion上有非常明显的性能差异。

因此,对于您最初的问题,我认为您可以将Windows虚拟化以进行开发,如果您可以将许多其他工作分担到OS X上,那将是一个好习惯。Fusion / Parallels的性能已经走了很长一段路,而不断重启以切换是很痛苦的您的操作系统的性能提升。如果您使用的是VS2010,则可能由于Fusion的速度变慢而立即推荐Parallels。(我认为这可能与使用WPF的VS2010有关,在Parallels内部可能更快)


这是一个旧线程,但是部分性能差异可能是由于VS2010中使用了硬件加速(UI)。在Windows下可以很好地工作,但是VM(无论是Fusion,Parallels还是VirtualBox)在GPU加速方面都不是很好。您可以在VS2010 / 2012中将其禁用;尚未亲自尝试过,但可能值得。
3Dave

2

我已经使用Win7 Beta完成了这两项工作,并且最终更喜欢使用Boot Camp。不可否认,这是在配备2GB RAM的13英寸MacBook Aluminum(2008年末发布的型号)上。

VMWare的性能相当不错,而且非常令人印象深刻,但是由于我的开发堆栈没有完全掌控计算机,因此感觉足以使我烦恼。(理解我的开发堆栈比VS更有意义-我有VS,SQL Express,CruiseControl.NET等。)

我觉得Boot Camp的性能要好得多-但这是可以预期的,因为您在谈论本机性能。Boot Camp会将您重新引导至Windows,这时Windows是唯一运行的操作系统,并且具有对该计算机的完全访问权限。

自然,您的里程可能会有所不同,并且性能在“感觉”上要比指标高得多。您可能会发现VM性能非常出色。您可能会觉得有点古怪。您可能会发现它已经足够好了,因为它不需要完全重新启动,并且仍然可以在Windows环境中运行Mac应用程序。您可能更喜欢重新启动方法。只有您才能做出最终的权衡确定。


想象一下现在使用2Gb RAM运行此开发堆栈……
Daniel

1

如果要快速执行操作,则可以使用VMWare Fusion 2.0.6从BootCamp分区运行Windows。如果要进行一些认真的调试或修复,请使用BootCamp重新启动。BootCamp的速度要快得多,但是如果我大部分时间都花在两次重启上,我会选择Fusion。

不利的一面是,Fusion看不到Mac Pro的所有内核(当我高兴地分配4-6个处理器时,我最多只能为其分配2个内核。)因此,使用BootCamp无疑可以最大化XP可以访问的资源至。


Fusion 3将看到您所有的核心。芹苴的Parallels 5已被证明是相当快上我的Mac Pro与8个内核和10GB。与VMware 3相比,Visual Studio 2008的编译速度更快,而GDI +的速度明显更快。从价值出发,我从两种产品发布之初就一直在使用这两种产品。去年一年半,我在Parallels上使用了VMware2.x。我认为我要回到相似之处。这次减少了越野车的感觉。(VMware + Unity + Expose ==失败,请尝试)。
Martin Marconcini 2009年

Fusion 3仅允许我在Bootcamp分区上使用四个内核,而其他Fusion文件仅允许两个内核。无论哪种方式融合都太慢而无法使用。我能够完成昨天需要完成的工作的唯一方法是在训练营中运行。我去年从Parallels搬家,原因是顶棚迫使我不得不进入训练营。我讨厌在Windows上花任何钱,而且我真的不喜欢必须更新两个Windows模拟器。我可能只会向IT部门提交一台真正的PC的请求,以照顾我的Windows工作并保持Mac Pro不受污染。
Mark Thalman

0

我无法评论在Fusion上运行的Windows 7(甚至Vista),但是我确实在Fusion的Win XP上使用过Visual Studio 2008,即使在MacBook上,它也运行得很好。我不想成为询问为什么要这样做的人,但是...为什么需要Win7而不是XP?

我使用XP而不是Vista的主要原因是Vista(和Win7)给图形卡,内存和硬盘带来了额外负担。现在,使用MacBook Pro及其附加的图形功能,您显然会处于更好的位置。但是无法解决Vista和Win7带来的额外内存和大量随机高清访问的问题。是的,您可以关闭许多导致内存和磁盘使用率的功能,但是即使如此,其税费似乎也比XP高。足够了解“为什么使用Win7”。

从性能的角度来看,您将需要大量的RAM和快速的HD。我升级到4GB并拥有不错的7200rpm HD,我的性能很棒(通常比在老化的Athlon双核计算机上运行本机更好)。我仍然想念能够运行VS并仍然使用我所有喜欢的mac程序的能力(我不再拥有MacBook),我强烈建议您进行设置。


0

我在BootCamp和VMWare Fusion模式下都使用了Vista 64 + Visual Studio 2008,并且两者都表现良好。如果我正在“玩弄”一些代码并且没有专心地编码,那么我可以在Fusion中做到这一点而不会对性能造成任何重大影响。如果我专注于代码并且需要完成某些工作,那么我将重新引导进入BootCamp模式。这不仅确保了我所有的资源都专用于Vista / Visual Studio,而且还有助于确保Mac-Land中的任何内容都不会使我分心。

重要

我能给您的最大提示是,如果您的MBP具有双视频卡,并且您使用BootCamp引导进入Windows,则Windows将使用功能更强大的视频卡。这会产生更多的热量,您的MBP将开始预热。通常,在Mac-Land中,风扇会加快速度进行补偿,但在Windows-BootCamp中,没有什么可告诉风扇加速的,因此MBP将开始变得非常温暖。

有一个简单的解决方案,但效果很好。在Mac-Land中,寻找一个名为SMC Fan Control的应用程序(您可以在macupdate.com上找到它)。安装它,然后在使用BootCamp引导进入Windows之前,转到Mac偏好设置,找到SMC,然后默认将风扇旋转至4500 rpm。它会发出更多的声音,但仍会保持安静。现在,不要关闭OS-X,请重新启动,在适当的时候按下BootCamp键,然后进入Windows。通过执行重新启动主板上的风扇控制器,仍然会认为它需要在新设置下旋转风扇,并且它将继续这样做,直到完全关闭MBP或重新启动到OS-X并将设置更改为较慢的速度为止。速度(正常情况下,我的速度约为1300)。这样一来,您就可以从BootCamp的长沙发上进行开发,从而更加愉快。


我从未将Bootcamp与VMware或Parallels一起使用,但我知道每个人都会安装工具。如果您在新兵训练营本地启动,会发生什么?工具不是“兄弟”吗?
Martin Marconcini 2009年

1
在Bootcamp模式下运行时,VMWare工具没有问题。IIRC您有多个网络适配器,并且根据引导模式使用一个或另一个。两种模式下都没有问题。
克里斯·波特

0

虽然我无法说说在Fusion中Mac上的VM中运行Windows或Visual Studio,但我可以谈谈Parallels VM中的iPhone开发(需要Xcode和Mac OS X)。

iOS开发

我使用Xcode在带有TB闪存驱动器的MacBook Pro Retina上的Parallels(9、10和11)虚拟机中运行的情况下进行iOS开发。

通常,这很好。最大的好处是将我所有与工作有关的东西都放在一个环境中。具体来说,Apple将安全密钥存储在钥匙串中。试图从一台真正的Mac上提取出来并重新安装在另一台Mac上是一个谜,也是一个痛苦。对于VM,我偶尔会在本地和/或外部驱动器上进行手动备份。换一台新Mac或切换到另一台Mac仅仅意味着一个大文件副本,然后我就可以运行了。

我甚至在该VM中使用Notes应用程序和Reminders应用程序进行开发工作。我没有在该VM内激活iCloud,因此它仅在VM本地。

在虚拟机中作为Guest OS运行Mountain Lion的情况下,运行得非常好,以至于我发现自己在真正的Mac中以及在虚拟Mac中的时间感到困惑。在VM中,我必须将Dock切换到屏幕的右侧,以区别于实际Mac的左侧Dock。

我确定在VM中运行时会降低性能,但对我而言却并不明显。我认为快速的闪存驱动器可以节省大量时间,而不是弥补运行VM的任何开销。总的来说,这是我使用过的最快的开发环境。对于山狮,那就是……继续读下去。

CAVEAT: 小牛,优胜美地和Capitan作为来宾VM的运行明显慢。我已经确认,在Parallels和Fusion的最新版本和以前的版本中,这两种产品都不能将图形硬件加速作为来宾OS应用于Mac OSX。它们适用于Windows作为来宾OS,但不适用于Mac OS X(具有讽刺意味的是)。

因此,所有图形运行速度都较慢。菜单的下拉速度较慢,并且在菜单项中拖动鼠标指针时,菜单突出显示和绘制的速度较慢。移动窗口不是很即时。动画可能是一团糟。滚动是一种过度活跃的活动,是一系列小的视觉更新,而不是平滑的。总而言之,对于我而言,这并不是一个停滞点,至少现在还没有。(我最近才从Mountain Lion更新了VM。)

为什么Lion和Mountain Lion在视觉上如此出色,而后来的Mac OS却很慢?从我从Parallels公司获得的简短技术说明和电子邮件中了解到,Apple为Lion / Mountain Lion提供了一个垫片。他们有一些库可以帮助弥补图形硬件加速的不足。该库不再适用于以地名命名的OS X版本,而仅适用于以猫命名的OS X版本。


-1

虽然可以正常工作,但在使用VMWare Fusion 3 + Bootcamp时还是有些麻烦。

Win7的身份验证主要需要通过愚蠢的MS电话系统进行。否则,身份验证仅在一侧(本地引导或VMWare)有效。

另外,在Win7 VMWare启动后,硬盘似乎闪烁了很长时间,但这也许是“正常的”。

至少有4GB的物理内存-可以使用2GB,但是速度很慢。我当前的VM设置为1420MB,2个VM内核。最终总共要为VMWare使用大约2GB的内存(为我的OS X主机保留另外2GB的内存)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.