0x00 到底哪个好?
因为打游戏和别人语音需要用到 YY 和 QQ,而我又实在不想把这两个流氓装在电脑上,于是丢进了虚拟机里。
因为是日常使用,并不是开发用途 所以3D加速让界面能够跟手一些,用的更舒服一些,以及音频设备的延迟能低一些让语音的体验更好,是我的主要需求。
0x01 开始折腾
Vmware: 先试着用了一直在电脑里装着的 VMware Workstation 12.x。 然而这个版本在 Windows 10 下的的 3D 加速效率和音频设备延迟有点受不了…. Mic 和 Speaker 延迟都有大概 0.5 秒左右。 于是更新到 14.x,3D 加速似乎工作的不错,流畅了许多,然而音频设备的延迟并没有任何改善,甚至发现引入了新的bug:
在 VMware Workstation 14.x 目前的最新版中(截止 2017-10-10),当3D加速开启,CPU逻辑核心数大于1,且频繁调用音频设备时(比如打开YY),就会使宿主机的 VMware 进程直接崩溃 (日志显示 access violation)
在这里插个题外话,说起 VMware,就不得不想起我在 mac 上使用的虚拟化方案 —— VMware Fusion。 花了 1700 买了两个 VMware Fusion 的大版本更新,使用感受上一些都还是那么的屎….
Hyper-V: 于是卸载 VMware,打开了 Windows 10 自带的 Hyper-V,毕竟巨硬官方加持,可能直接从操作系统底层的资源分配上就更具优势,甚至可能支持 PCI Passthrough。
然而试了一下发现,将其 3D 加速功能的所依托的 RemoteFX 设备添加至 Guest 后,只有通过RDP访问虚拟机界面才有效果,而但从界面的流畅程度来说,甚至还不如打开3D加速。(可能 RemoteFX 的思想就只是为了让需要3D加速的应用能跑起来而已) 而至于 Hyper-V 模拟音频设备,完全没有实现这种东西,只能通过RDP来获取远程音频…. 至于 PCI Passthrough,似乎只有 Server 版才有这个功能。
VirtualBox: 醉了,于是把目光转向几年前并没有给我什么好印象的 VirtualBox。 如今的 VBox 已经更新到了 5.1.28,令人惊讶的是在各方面的表现都要比前两者要好… 而我在 UserManual 里还看到了 PCI Passthrough 支持的相关文档,看起来应该是支持,不过还没有尝试。 而 3D 加速和音频设备的延迟表现也都很优秀(可能全靠同行衬托)
For Mac: 于是准备把 Mac 上的 VMware Fusion 也换成 VBox 试试,但是在VMware Fusion 10 和 VirtualBox 的较量中,似乎 VMware For Mac 还是更胜一筹,于是在 Mac 上仍然留用VMware。
0x02 后续更新
现在是 2020 年,Sandboxie 免费了,甚至准备开源。 已经用上了,好用。