凯文霍夫曼今天早上报道说:
当放在运行 Windows 7 的虚拟机下时,VS2010 无法渲染东西,边框消失,窗口变得无法使用,体验非常糟糕。另一方面,当你运行 VS2010 “裸机”,它和你的显卡之间没有虚拟化,一切都很漂亮,一切都很好。
虚拟机会导致VS2010的WPF渲染不佳怎么办?
凯文霍夫曼今天早上报道说:
当放在运行 Windows 7 的虚拟机下时,VS2010 无法渲染东西,边框消失,窗口变得无法使用,体验非常糟糕。另一方面,当你运行 VS2010 “裸机”,它和你的显卡之间没有虚拟化,一切都很漂亮,一切都很好。
虚拟机会导致VS2010的WPF渲染不佳怎么办?
WPF 在 Direct3D 表面上呈现内容。它能够利用显卡提供的硬件加速功能来提高性能。在 VM 下,这些功能可能不可用。
我还没有专门尝试过 VS2010,但您可能会遇到一个已知问题,即虚拟机中的 WPF 应用程序。尝试按照此处所述禁用硬件加速:
http://msdn.microsoft.com/en-us/library/aa970912.aspx
我们在 VM 上运行的自定义 WPF 应用程序有类似的性能问题,并且为我们解决了这个问题。
正如 Mehrdad 所说,虚拟机并没有真正虚拟化 3D 硬件(VMWare 在这方面做了一些工作,但我认为它只是旧版本的 DirectX)并且 WPF 利用 GPU 来更有效地渲染,因此它必须使用软件在虚拟机中渲染,速度明显较慢。
如果您有一台多核机器,并且您使用的虚拟机管理器支持为 VM 提供多个内核,那么您可能会考虑向 VM 添加更多内核以更好地利用 CPU 资源,或者使用 Kevin 的注册表更改。
VS2010 不是成品,它与系统的原生 GUI 界面(在 Windows 7 中也不是成品,这些都没有完全培养)的各种元素紧密相关。在虚拟化环境中运行的两个测试版会出现问题并不完全令人惊讶。如前所述,这很可能是一个 Aero 问题,这与 DirectX 的硬件渲染密切相关。假设 Win7 有这些问题,这些问题在经典下可能不会发生。
我使用的是 Windows 7 + VS 2010 + WPF,一切都很好,但是我使用的是开启硬件加速的 VMWare Fusion。