使用RemoteFX在RDP上进行3D游戏时鼠标不稳定


11

与RDP连接时,默认的鼠标驱动程序似乎不适用于某些应用程序,例如3D游戏。

我的设置:

  • Windows 2012 R2,带有Hyper-V和强大的图形卡
  • 已配置Windows 8.1 Enterprise,RemoteFX和vGPU的VM
  • 通过快速链接与RDP连接。

得益于RemoteFX / vGPU,3D视频性能非常好。它绝对可以使游戏在RDP上具有很好的可玩性(如果不是鼠标的话)。

问题在于鼠标在游戏中的反应非常疯狂-但在3D环境之外完全正常。(例如,在游戏菜单中,鼠标就可以了)。

从实验和在线搜索来看,我可以说得最近(许多其他人也有相同的问题,但找不到解决方案)-似乎鼠标驱动程序传递的是相对位置,而不是运动。
这个“理论”与鼠标指针如何跳入和跳出RDP窗口的一些解释很好地关联(例如,将鼠标指针移出左侧窗口,又移回到右侧-并表现得很好,即基于位置的鼠标和(不是基于运动的),并且还具有游戏中的行为-例如,如果我将鼠标左移一束,则视图会疯狂地向左跳转;如果我再将它向右移动一点,但仍不能一直返回中心(即鼠标仍在中心的左侧,但向右移动),它将继续向左跳。(即似乎仍在报告其位置为“中心左侧”,而不是“向右移动”)。

我希望找到任何解决方案。有任何想法吗?


嗯。是否可以尝试以游戏为中心的远程访问平台?英伟达流媒体和蒸汽流媒体对我来说效果很好(超过千兆)。相对位置也让我想起平板电脑式鼠标。
Journeyman Geek

几年后疯狂,但仍未解决。:(
Apache

Answers:


8

哇,经过大量的研究和失败的尝试,我实际上解决了这个问题!
好吧,大多数情况下都可以解决-它是功能性的,但并非没有缺点。

感谢@JourneymanGeek的回答,尤其是他所链接的帖子,我得以追踪并最终发现,在远程桌面客户端ActiveX实现的众多接口中,其中一个支持RelativeMouseMode属性!这听起来完全符合我的需求,它将迫使RDP支持相对的鼠标移动!

但是,我确实在MSDN论坛上的帖子中指出“ RDP RDSH / RDVH场景不支持RelativeMouseMode,因此不应使用”,但我想尝试一下,它不是真正的生产环境,因此我可以使用不支持的功能。它的文档也很少,但是似乎我有我需要的东西-StackOverflow上的这个问题也使我希望它是可行的。

因此,我着手实施一个简单的WinForms应用程序,以托管ActiveX控件,并设置了“ ... Unsafe”接口属性。


事实证明,这次Microsoft表示“不支持”,只是“不受支持”。
好吧,如果确实如此,那将是一个特别的问题,很抱歉带您继续(但我认为将其记录在某处很好...)


但是,并非所有事情都是徒劳的,在深入研究RDP协议的所有过程中,我查看了RemoteFX USB重定向-看起来像是死路一条,因为基本输入设备(例如鼠标,键盘,打印机)被明确阻止通过USB重定向机制:

默认情况下,可以使用高级设备重定向方法在远程会话中访问上述类别的设备。这些重定向方法可在大多数用户场景中实现设备的最佳性能和向后兼容性。因此,无法通过RemoteFX USB重定向提供这些设备。

嗯,事实证明,最终答案是对此块有覆盖机制。


步骤1:启用RemoteFX USB重定向
这里有一个很好的阐述:http : //windowsitpro.com/virtualization/q-how-do-i-enable-remotefx-usb-redirection。基本上,在客户端计算机上,您可以使用“本地策略”或“组策略”将其设置RemoteFX USB Device RedirectionEnable,并允许用户(或仅是管理员)拥有这些权限。然后gpupdate /force重启。

步骤2:为鼠标启用重定向替代。
如本MS KB文章所述,您可以设置注册表项以启用特定的设备(或设备类别)以进行USB重定向。

再次在客户端上

HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services \ Client \ UsbSelectDeviceByInterfaces

您可以添加带有设备标识符的字符串值。
例如,在此键下,我添加了以下字符串值:

“ GUID_DEVINTERFACE_MOUSE” =“ {378DE44C-56EF-11D1-BC8C-00A0C91405DD}”

根据您的鼠标,您可能需要一个不同的标识符,即YMMV。但是从那开始。

步骤3:设置RDP客户端以重定向鼠标。
正如第1步中的文章所述:

启用后,访问“本地资源”选项卡,在“本地设备和资源”下单击“更多”,您将看到一个新的“其他支持RemoteFX USB设备”设置。您可以使用此设置来映射许多普通的RDP USB重定向无法使用的USB硬件,如下所示。

在此之下,您应该看到一个鼠标条目;它可能有点模棱两可,例如:

其他设备重定向

选择您的鼠标(或其他适当的条目)。

而已!现在,您已经将硬件鼠标“直接”连接到VM,这使3D游戏可以直接从鼠标驱动程序中提取相对鼠标移动(-ish ..)。


但是,如上所述,存在一些缺点。

  1. 鼠标将重定向到RemoteFX的VM-换句话说,至少在打开远程桌面会话时,客户端计算机不再具有鼠标
    一种可能的解决方案是连接第二只鼠标,然后仅重定向其中一只。(我还没有尝试过,但是应该可以正常工作)。

  2. 出于某种原因,在重定向时,鼠标不会在远程会话中直接显示光标。尽管它仍然有效,但确实使鼠标指向的目标有点混乱。
    一个简单的解决方案是打开“ Mouse Trails”(鼠标轨迹),并且将其长度一直减小。 鼠标轨迹
    这将显示鼠标位置,但是有点迟钝。

  3. 总体而言,虽然此解决方案效果很好,但鼠标仍然有些慢且缓慢。
    您可以调高鼠标速度,用指针精确度的游戏(有时把它关闭,实际上这方面的帮助),并且在鼠标加速的注册表设置,甚至玩弄HKEY_CURRENT_USER\Control Panel\MouseMouse SpeedMouseThreshold1,和MouseThreshold2分别)。
    这将有助于减轻问题,但并不能真正消除它。

因此,总的来说,这甚至可以使3D游戏变得非常好玩-对于休闲游戏而言,不幸的是对于抽搐游戏而言并不是很好。(尽管如果需要,您可以将金属直接引导到该VHD中,并同时具有这两种选择...。)


做得好...希望有人也可以将此信息用于其他地方。
我说恢复莫妮卡2014年

我在Microsoft Remote DesktopMacBook Pro上使用。Mac是否有任何替代机制?
布赖恩

@Brian我还不是雾蒙蒙的:-)那里的客户端应用程序是否以相同的方式工作?尝试寻找相同的设置...
AviD

3

显然remotefx仅使用平板电脑样式的“绝对”输入模式,这是问题的根源。我找不到有关更改它的任何文档。

您可能需要考虑一种替代的远程访问模式-Steam对我而言效果很好(在“主机”上使用nvidia GPU,在另一端使用一个肮脏的小海湾步道盒)。Nvidia可以选择其显卡,但我还没有尝试过。

简而言之,除非可以将游戏设置为使用remotefx使用的输入模式,否则没有明显的方法可以使用remotefx进行修复。


2

远程桌面传输绝对的鼠标移动,以此减少需要从客户端发送到服务器的鼠标移动数据包的数量。这种安排对大多数Windows应用程序(电子邮件,Web浏览等)都适用。许多2D游戏也可以。但是,FPS游戏通常需要相对的鼠标移动才能控制鼠标的外观,遗憾的是远程桌面无法传输鼠标外观。鼠标相对移动数据的丢失是导致游戏意外旋转视口的原因。Microsoft将需要修改远程桌面才能使此游戏方案正常工作。但是,将XBOX控制器用于带USB重定向的PC可能对您来说是一种替代方法。


谢谢,我有点知道这一点,并且大多数时候都会重复@Journeyman的回答...但是控制器是一个很好的解决方案(尽管不会帮助我...)
AviD 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.