如何优化虚拟机以进行游戏

如何优化虚拟机以进行游戏

我和我的朋友喜欢玩一款名为“Red Dead Redemption 2”的游戏,但不幸的是他的电脑性能很差,所以他不想再玩了。昨天我们想出了一个解决方案。我的电脑相当高端,我想,我可以使用 VM 软件和远程桌面共享软件(如 Teamviewer 或 Chrome 远程桌面)将我的电脑“拆分”成两台。在此过程中,我遇到了很多问题。

一开始我使用了 Virtualbox,但那里的 VRAM 限制为 256 MB,这对于 Red dead redemption 2 来说不够。后来我考虑使用 Vmware,但遗憾的是没有找到有关 VRAM 的具体信息。顺便说一句,我还发现有一款名为 Parsec 的非常好的远程桌面软件,据说它非常好,但在我在 Virtual Box 上安装它后,它说它需要更强大的显卡,因为 Virtualbox 只在 VM 中注册了集成显卡。

所以我的目标是寻找一个 VM 软件,它既能为 VM 提供 VRAM,又能提供良好的显卡(我指的是 VM 中显示的假显卡)。

经过一番研究,我找到了 Windows Hyper-V 和这个 YouTube 教程:https://www.youtube.com/watch?v=aZtuiLYnb_g视频中的人发布了一个指向 2 个脚本的链接,这些脚本在 PowerShell 中执行时会自动为您的 VM 提供良好的显卡。我自然而然地认为 Hyper-V 没有 VRAM,但我不确定,所以这是我的第一个问题。

后来我在设置 Hyper-V 时遇到了问题,因为网络连接不工作,要么我的主机 PC 没有连接到互联网,要么我的 VM 没有连接。我还尝试了 Hyper-V 上各种与私有、内部、外部网络的组合。这是我的第二个问题。最后我放弃了,来到这里。

总而言之,我只想让我的朋友在虚拟机上获得均衡的性能和优质的游戏体验。我的想法基本上是,我下载游戏两次,他登录他的帐户并通过远程桌面共享从那里玩游戏。

以下是我的电脑规格:CPU:AMD Ryzen 7 5800X、GPU:AMD Radeon RX 6800 16GB VRAM、RAM:32GB、存储:目前约 200GB,如需解决我的问题所需的任何信息,请在论坛中回复或在 discord 上给我留言:Saul Goodman#5628

答案1

好吧,在完整阅读你的问题之前,我已经想到了你列出的一些步骤,呵呵。延迟问题在我脑子里呼啸。

是的,hyper-v 将允许虚拟机访问显卡。

我在这里看到的问题首先是延迟。您的机器在本地网络上跟上帧传输可能会有问题,但您说的是互联网上的??

其次,您可以为您的机器添加虚拟网卡,但 IP 必须对您的 LAN 可见。

要连接到此 IP,您必须从互联网创建到该 IP 的路由,因此您必须将 RDP 端口转发到您必须静态分配的 VM 的 IP 地址。

在您的连接和机器必须跟上玩游戏所需的帧速率之前,VM、显卡和 CPU 之间会发生很多事情。

您可以先在本地尝试此操作,看看是否可以完成。

从理论上看,这似乎是完全可能的,这也是设计虚拟机的原因之一,即在没有必要的情况下共享计算资源,而不是将整台机器专用于服务器场。

但是在互联网上搜索后,我的第一个想法似乎得到了同意:将会有大量的帧延迟,并且 rdp 将无法以足够快的速度刷新以跟上它。

请这样考虑。

标准显示:1280x763。即 976640 像素。每光栅化帧三通道颜色。即每帧 2929920 字节。60 fps,每秒 175795200 字节。即每秒 167 mb。现在,当然,rdp 服务器会尝试压缩它,因为这是原始信息。这将需要每秒 60 次压缩操作 = 延迟。

流式视频传输会添加关键帧,情况有所不同,但这就是人们在线观看电影的方式,并且使用经过预处理的视频文件。流式传输的作用类似。

关键是,RDP 不是您想要使用的工具。

有几种方法可以在远程机器上渲染 opengl 并在本地显示它们,opengl 最初是为了包含此功能而构建的,但对于您的特定小众需求,我认为这不会有帮助。

简而言之,因为用例有限,而且不太可能是这一代技术用户所需要的(在过去,有人可能想到了这种确切的场景,然后又放弃了它),所以可能没有可用的端到端产品。

您可以假设您的机器足以处理所有这些,但 RDP 主要用于技术问题和/或开发人员从家里访问他们的工作机器,它不适用于高帧速率的低延迟图形传输。

您可能还会实施其他类型的屏幕共享软件来实现所有这些功能。

为了进行比较,您可以直接在虚拟机上播放视频,看看连接的客户端上的屏幕是否不稳定,以便进行说明。

答案2

带上一台笔记本电脑,在同一个地方开会。或者把电脑带过去 ;-)

然后使用远程桌面服务(RDS)(以前称为终端服务)通过本地网络。它们提供与 Windows 安装的远程连接,您可以通过这些远程计算机在远程计算机上运行应用程序!远程计算机可能是您的强大计算机,并且通常是组织中的强大服务器。但通常在同一栋建筑内,并且用于 Office 应用程序。这就是为什么在 Windows 的服务器版本中默认启用多个会话的原因。

对于您朋友的 PC 与您之间在您注销的情况下进行的单个会话,请参阅这个帖子

要在 Windows 客户端版本上启用多个会话,请使用辉煌的rdpwrap。 看这个答案作为指南。甚至还有电报群这可以有所帮助。

设置完成后,您的朋友可以运行RDP 客户端(mstsc) 在他的计算机上,登录到您的计算机并在那里开始游戏 – 坐在他的计算机前,而您也在您的计算机上玩游戏! 所有这些都无需模拟另一个虚拟机的开销。

如果您在本地成功了,但还没有玩够,您仍然可以尝试通过互联网连接。但请注意,这会带来安全风险,并且可能效果不佳,如上一个答案所述。

相关内容