我跑了一台Windows7虚拟机,通过端口影射远程访问。
Win7的远程桌面,在网络条件比较差的时候,操作起来体验还是非常不错的。之后的Windows 8 /10之类的。远程桌面版本虽然提高了,但是远程使用起来还是有少许停顿感。
前几天发现了Parsec这个软件,简直是神器!
它的做法和微软的远程桌面有所不同,那就是直接用GPU压缩桌面显示的视频流,传输到控制机之后再用客户机的GPU解码。那么可以达到什么样的效果?
Parsec远程时的时延
上述1600x900的分辨率,压缩9.30ms, 网络时延10.46ms,解压2.98ms,整体22毫秒就搞定了。如果是30fps的情况,比一帧33ms都低,已经很好了。
其实对于远程控制来说,时延非常关键。而Parsec这种模式,可以用来打游戏!看视频!控制端完全变成了一个视频播放器。
看了上述原理,你就知道,如果你显卡足够强,玩游戏也是OK的。比如我可以用Furmark跑分!
远程跑甜甜圈
i5 8500T的集成显卡,窗口模式跑起来也可以。这以前用微软的远程桌面是不可能的。
有了Parsec,我都可以考虑放弃Windows远程桌面了,可以却换到Parsec来工作了。
吹了这么多,Parsec有何缺点?有何坑?
- 需要物理GPU!因为Parsec使用物理GPU来压缩视频,所以主机没有GPU是不行的。这一点非常关键,如果有一些虚拟机不具备GPU的话,就不能跑Parsec远程控制。现在Hyper-V支持GPU-PV,如果你配置了Hyper-PV给虚拟机,虚拟机里面也可以跑Parsec。
- 显卡需要接显示器!一般的显卡,如果不接显示器就不干活,自然Parsec抓不到画面的输出,也不能压缩。所以需要接一个显示器。或者和大部分矿老板一样,某宝买虚拟的显示器
物理的虚拟显示器
如果是N卡的话,也可以设置EDID来让显卡觉得有显示器的。
- 对于虚拟机来说,这个HDMI虚拟显示器插不上,所以只能安装虚拟显示器驱动。网上找找。Managing a Display EDID on windows对于虚拟机来说,这个HDMI虚拟显示器插不上,所以只能安装虚拟显示器驱动。网上找找。
- 另外一个问题,就是声卡!Parsec也是需要抓取声音才能传输过来,如果没有声卡,或者声卡配置错误,也没声。不过这个可以装一个VB Cable来解决。
- 第三个就是鼠标!Windows10现在如果检测不到物理的鼠标,就会隐藏鼠标箭头!估计这个是为了兼容平板模式。所以主机不插鼠标的话,Parsec远程上去就没有鼠标箭头。为了解决这个问题,这可以装一个Input Direct软件。
- 另外还有问题,就是客户端是窗口时,无法指定Parsec的窗口分辨率!这个看视频打游戏问题不大,本来就不是点对点。但是如果是显示文字,不能点对点就比较麻烦。看起来文字模糊。因此如果你控制的电脑是1600x900,那么Parsec窗口的显示区域也设置这个大小最佳。不过遗憾的是目前Parsec并没有这个选项。而手动拖拉调整窗口大小也无法精确控制。我找了半天,发现可以用下面的办法来控制。
AutoHotkey可以通过WinMove函数来调整窗口的大小,但是激活Parsec窗口之后,AutoHotkey却失效了。具体原因为之。但是,如果你装一个Sandboxie Plus,然后用它来启动Parsec,AutoHotkey就可以控制了。使用下面的代码就可以来调整窗口大小。
^F6::
SysGet, TitleBarHeight, 31
WinMove, ahk_exe parsecd.exe, , , , 1600+16, 900+TitleBarHeight+17
Return上面的例子,我将窗口调整为1600+16x900+标题栏大小+17。这是因为windows的窗口是有边缘厚度的。需要让显示区域正好是1600x900就需要多一点点。
如果你要确认是不是真正点对点,可以在里面跑EIZO的显示器测试,测出Gamma的场景,如果不是点对点,测试出来一团糟。
https://www.eizo.be/monitor-test/
未能点对点
点对点
对比很明显。 |
|