虚拟机图形性能真的没救了吗?

2022-05-15 23:18:03 +08:00
 whyorwhynot

将办公用的物理机迁移为虚拟机( 8124m 分配了 20 个核心,64GB 内存,未开 vmware 3D 加速)后使用,一直觉得界面很卡,窗口开的越多越卡,输入法打字都卡,但是 cpu 占用率始终是 5%以下,内存也才用了不到 22GB ,磁盘也没有什么读写。

怀疑是图形性能出了问题,写了一个 tkinter 小程序,循环设置 10000 次进度条进度,记录时间消耗。 发现当前运行环境需要 9-13s 才能完成,于是继续测试

测下来的感觉就是虚拟机的图形性能真的很差,根本不适合开太多窗口进行办公,可是 vmware 开启 3d 加速貌似是目前虚拟机最强图形性能了(是不是配个 3090 就好多了呢?),除了显卡直通,虚拟机的图形性能还有救吗?

6623 次点击
所在节点    程序员
14 条回复
sean10
2022-05-15 23:26:00 +08:00
以前有看到 intel 提供的 gvt-g 能力 , 显卡虚拟化. 不知道你的场景有没有用.

以前捣鼓的时候, 如果是服务器, 通过这个可以让宿主机的显卡让多台虚拟机都使用到这张集成显卡, 基本能达到有 intel 显卡的水平.
Buges
2022-05-15 23:29:57 +08:00
显卡虚拟化 vGPU 直通 /显卡直通+lookingglass 那样的图形 API 捕获+shm 取回画面应该是理论上最合适的。
除此以外,如果是 Linux/kvm + qemu 虚拟 linux guest 的话可以用 virtio 的图形驱动,据说性能很好。
Windows/hyper-v 虚拟 Windows guest 的话,可以修改引导直接真机启动虚拟机系统,打游戏什么的可能这种方法是最合适的了。
再其次就是 parallels/VMware workstation 这样的专业桌面虚拟化产品提供的图形驱动了,性能倒是不差,但高负载还是不行。
再然后 VirtualBox 的图形驱动和 qxl 等开源实现,基本上能保证日常操作流畅,视频游戏之类就不用想了。
最后就是 rdp/vnc/x 转发等远程协议了,网络好的时候能不卡就不错了。
12101111
2022-05-15 23:34:45 +08:00
Windows 跑 windows 虚拟机性能最强的是 hyper-v, 只要是 1809 之后的 Windows10/11 都可以, 直接穿透 dx12 内核驱动, 虚拟机安装相同的用户态图形驱动程序, 绝对比任何第三方 Windows 虚拟机性能好

这个项目可以自动化 https://github.com/jamesstringerparsec/Easy-GPU-PV
BeautifulSoap
2022-05-15 23:40:17 +08:00
3L 的 hyper-v 黑科技 vGPU 了解下,虚拟机下的图形性能和宿主几乎一模一样。宿主显卡给力的话直接在虚拟机里打 3A 游戏都不是问题。

如果 LZ 虚拟机系统是 linux 系,直接用 wsl2 就行,用的同样的黑科技。
alanying
2022-05-15 23:44:53 +08:00
@12101111
@BeautifulSoap

突然想把盗版游戏放 hyper-v 里面了
darklights
2022-05-15 23:49:07 +08:00
@12101111 挑显卡不,1660s 。现在用 VMware workstation 测软件,是真的受不了,什么东西都慢半拍还有 bug 。而且听说 hyper-v 虚拟网卡、宿主客机交互不如 vmware 方便,一直没去搞。
ruidoBlanco
2022-05-16 06:29:59 +08:00
暂时除了直通是没救的。

你的 CPU 是 11 代的,所以不再支持 GVT-g 而是硬解支持 SR-IOV 。SR-IOV 好是好,但是 intel 的 Linux 驱动 i915 还没到位,根本不能用。VMware 情况不大清楚,但是应该差不多。具体哪年哪月能好,天知道。因为 i915 的驱动都是 intel 自己的人在做的。

12 代的 Alder Lake 也是坑,performance 核心支持的 AVX512 指令集,在 efficiency 核心上不支持,导致为了让程序不跑出乱子,干脆在 firmware 里禁用了 AVX512 指令集。

9 代往前才支持 GVT-g ,然而直到 9 代都会受 meltdown 和 spectre 的影响,要想全部性能,加 mitigations=off ,否则性能打 9 折。

10 代 CPU 什么鬼,没人聊,好像 GVT-g 和 SR-IOV 都没指望???

我是买了个 11 代 NUC 不能开 vGPU 才知道有这坑的。
TheSixWings
2022-05-16 10:31:06 +08:00
对 11 代不支持 Windows Guest 的 vGPU
v2da
2022-05-16 11:29:45 +08:00
楼主说配个 3090 是不是好点,我就有 3090 ,可是实际上没有好很多。。。
whyorwhynot
2022-05-16 18:47:26 +08:00
@v2da 那就好,不用花钱白折腾了。。。
whyorwhynot
2022-05-16 19:08:44 +08:00
@12101111 限制挺多的,貌似还不稳定,倒是可以折腾折腾。。
whyorwhynot
2022-05-16 19:24:59 +08:00
@ruidoBlanco 我这 8124m 没核显直接没救了。。
jsq2627
2022-05-16 22:06:12 +08:00
@darklights hyper-v 最大的麻烦在于不支持 usb passthrough ,对于想把游戏或者办公主力放到虚拟机的人来说并不方便
hanssx
2022-07-04 16:07:23 +08:00
vGPU 不是 NVIDIA 才叫的吗?“Intel 核显的技术叫 GVT-g ,NVIDIA 技术叫 vGPU 。”
如果 12 代 CPU 不支持 GVT-g 的话,买个支持 vGPU 的显卡?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/853041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX