VMWare 和 Hyper-V 支持 DPI 缩放吗?

VMWare 和 Hyper-V 支持 DPI 缩放吗?

随着高分屏的逐步普及,DPI 缩放已经成为常识。但是,在虚拟机(Guest machine)中运行的来宾操作系统(Guest OS)的 DPI 的缩放比例一般是 100%。这样,如果虚拟机在高分屏电脑上运行,来宾操作系统界面上的文字(还有应用程序的窗体)会不会太小?

谷月老师经过实测,结合自身经验,写了这篇博文,供读者参考。

主流的虚拟机软件 VMWare Workstation(以下简称 VMWare)和 Microsoft Hyper-V(以下简称Hyper-V),它们都支持缩放来宾操作系统(Guest OS)的 DPI,前提是来宾操作系统需要是 Windows 8 或更高版本

但是,它们的缩放效果是不一样的。

  • VMWare:字变大了,但是分辨率不变。
  • Hyper-V:字变大了,分辨率同步变大。

举例 1:来宾操作系统是 Windows 10,虚拟机桌面分辨率是 1280 x 800;物理机(Host machine)的宿主操作系统(Host OS)是 Winndows 10,DPI 缩放比例是 150%,宿主机桌面分辨率是 1920 x 1080。

VMWare 默认不为来宾操作系统开启 DPI 缩放,需要手动开启。开启后,来宾操作系统与宿主操作系统的 DPI 缩放比例一致。VMWare 将这一机制称为 DPI 同步(DPI sync)。

在 VMWare 中开启 DPI 缩放

运行 VMWare,为虚拟机开启 DPI 缩放后,虚拟机的桌面分辨率仍然是 1280 x 800(分辨率不变),但是来宾操作系统的 DPI 缩放变成了 125%(字变大了)

来宾操作系统的 DPI 缩放变成了 125%

为什么是 125%?因为 Windows 10 默认限制 1280 x 800 分辨率 DPI 缩放比例不超过 125%。

此外,运行 VMWare,如果不开启 DPI 缩放,虚拟机桌面分辨率仍然是 1280 x 800,DPI 缩放仍然是 100%。

DPI 缩放仍然是 100%

举例 2:来宾操作系统是 Windows 10,虚拟机桌面分辨率是 1280 x 800;物理机(Host machine)的宿主操作系统(Host OS)是 Winndows 10,DPI 缩放比例是 200%,宿主机桌面分辨率是 2736 x 1824。

运行 Hyper-V 并启动虚拟机,Hyper-V 默认开启 DPI 缩放。虚拟机桌面在物理机屏幕上占了2560 x 1600 个像素,相当于纵横各放大了 200%,与物理机屏幕的 DPI 缩放倍数匹配,即“字变大了,分辨率同步变大”。但是,在虚拟机内部,来宾操作系统的 DPI 缩放比例仍然是 100%,显示分辨率仍然是 1280 x 800。

换句话说,Hyper-V 没有修改来宾操作系统的 DPI 缩放,而是简单粗暴地按照宿主操作系统的 DPI 缩放比例(200%),把来宾操作系统的桌面整体在物理机的屏幕上放大了四倍。

一句话:海克斯科技与狠活!微软牛逼,不怕吃显卡算力和显存。

此外,如果同一台电脑上的两块显示器的 DPI 缩放比例不一致(常见于笔记本电脑外接一块显示器),那么,VMWare 和 Hyper-V 都能自动调节来宾操作系统的 DPI 缩放比例,使之与虚拟机窗口所在的显示器保持匹配。

总结

  1. VMWare 只放大文字,不放大虚拟机的分辨率,会让虚拟机窗口所显示的内容减少(虚拟机的逻辑分辨率下降),不如Hyper-V;
  2. Hyper-V 以整体放大的形式处理 DPI 缩放的问题,尽管不影响内容的展示,然而它需要显示器的尺寸较大、分辨率较高,也对显卡的算力和显存提出了更高的要求。

图片来源

题图:Image by Simon from Pixabay

头图:https://www.wallpaperbetter.com/en/hd-wallpaper-tolen


求扫码打赏
“我这么可爱,请给我钱 o(*^ω^*)o”

VMWare 和 Hyper-V 支持 DPI 缩放吗?
https://blog.kukmoon.com/5e6b60046dd6/
作者
Kukmoon谷月
发布于
2022年11月12日
许可协议