RemoteFXを使用したRDP上の3Dゲームでの不規則なマウスの動き


11

RDPで接続するときのデフォルトのマウスドライバーは、3Dゲームなどの特定のアプリケーションではうまく機能しないようです。

私のセットアップ:

  • Hyper-Vおよび強力なグラフィックカードを搭載したWindows 2012 R2
  • Windows 8.1 Enterprise、RemoteFXおよびvGPUが構成されたVM
  • 高速リンクを介したRDPとの接続。

RemoteFX / vGPUのおかげで、3Dビデオのパフォーマンスは素晴らしいです。これにより、ゲームがRDPで非常にプレイ可能になります(マウス用ではなかった場合)。

問題は、マウスがゲーム中非常にクレイジーに反応することですが、3D環境の外では完全に正常です。(たとえば、ゲームメニューではマウスで十分です)。

実験とオンラインでの検索の両方から、最も近いことがわかりました(他の多くの人が同じ問題を抱えていましたが、解決策は見つかりませんでした)-マウスドライバーは、移動ではなく相対位置を送信しているようです。
この「理論」は、マウスポインターがRDPウィンドウに出入りする方法の説明(たとえば、ウィンドウを左側のウィンドウから移動して右側に戻す)とよく相関しています。モーションベースではありません)。また、ゲーム内の動作も備えています。たとえば、マウスを左に束ねると、ビューが左に大きくジャンプします。次に少し右に動かしても、中央に戻らない場合(つまり、マウスは中央の左側にありますが、右に移動します)、左にジャンプし続けます。(つまり、「右に移動する」のではなく、「中心の左」にあるとまだ報告されているようです)。

私はこれに対するあらゆる種類の解決策を見つけたいと思っています。アイデアは誰ですか?


うーん。よりゲーム中心のリモートアクセスプラットフォームを試すことはオプションでしょうか?nvidiaストリーミングとSteamストリーミングは私にとってはうまく機能します(ギガビット以上)。また、相対位置はタブレットスタイルのマウスを思い出させます。
ジャーニーマンオタク

その数年後クレイジー、それはまだ修正されていません。:(
Apache

回答:


8

うわー、大量の研究と失敗した後、私は実際にこれを解決しました!
まあ、主にそれを解決しました-それは機能的ですが、欠点がないわけではありません。

@JourneymanGeekの回答、特に彼がリンクした投稿のおかげで、私はリードをたどることができ、最終的に、リモートデスクトップクライアントActiveXによって実装された多くのインターフェイスの1つがRelativeMouseModeプロパティをサポートしていることを発見しました。それはまさに私が必要とするもののように聞こえます、それはRDPが相対的なマウスの動きをサポートすることを強いるでしょう!

ただし、このMSDNフォーラムの投稿で、「RelativeMouseModeはRDP RDSH / RDVHシナリオではサポートされていないため、使用しないでください」と書きましたが、実際の運用環境ではないので、問題はありませんでした。サポートされていない機能。それも不十分に文書化されていましたが、私には必要なものがあったようです-StackOverflow に関するこの質問も、それが実行可能であることを希望しました。

そこで、ActiveXコントロールをホストするためのシンプルなWinFormsアプリの実装に取り​​組み、「... Unsafe」インターフェイスプロパティを設定しました。


結局のところ、「サポートされていない」ということで、今回のマイクロソフトは「動作しない」という意味でした。
まあ、もしそうなら、これはSOの質問になるでしょう。申し訳ありませんが、どこかに文書化しておくのは良いことだと思います...)


ただし、すべてが役に立たなかったわけではなく、RDPプロトコルを掘り下げている間、私はRemoteFX USBリダイレクトを調べました-そして、基本的な入力デバイス(マウス、キーボード、プリンターなど)が明示的にブロックされているため、行き止まりのように見えましたUSBリダイレクトメカニズムから:

デフォルトでは、前述のカテゴリのデバイスは、高レベルのデバイスリダイレクトメソッドを使用してリモートセッションでアクセスできます。これらのリダイレクト方法により、大部分のユーザーシナリオでデバイスの最適なパフォーマンスと下位互換性が可能になります。したがって、これらのデバイスはRemoteFX USBリダイレクトを介して提供されません。

結局のところ、最後の答えは、結局のところ、このブロックにはオーバーライドメカニズムがあるということです。


手順1:R​​emoteFX 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番目のマウスを接続し、そのうちの1つだけをリダイレクトすることです。(私はこれをまだ試していませんが、問題なく動作するはずです)。

  2. 何らかの理由で、リダイレクトされたときに、マウスはリモートセッションでカーソルを直接表示しません。それでも動作しますが、マウスが指しているものを狙うのは少し混乱します。
    簡単な解決策は、Mouse Trailsをオンにし、長さを完全に下げます。 マウスの軌跡
    これにより、マウスの位置が表示されますが、少し遅いです。

  3. 全体として、このソリューションはうまく機能しますが、マウスはまだ少し遅く、遅いです。
    あなたは(時にはそれをOFFこれになり、実際にヘルプ)ポインタの精度で、プレイをマウスの速度を上げることができ、さらに下のマウスの加速レジストリ設定をひねりHKEY_CURRENT_USER\Control Panel\MouseMouse SpeedMouseThreshold1、およびMouseThreshold2それぞれ)。
    これは問題を軽減するのに役立ちますが、実際には解決しません。

したがって、全体として、これは3Dゲームでさえ非常にプレイアブルなものにすることができます。(ただし、必要な場合は、メタルをそのVHDに直接ブートして、両方のオプションを使用できます...)


よくできました...うまくいけば、誰かがこの情報を他の場所でも機能させることができます。
私はモニカを2014

Microsoft Remote DesktopMacBook Proで使用しています。Mac用のオーバーライドメカニズムはありますか?
ブライアン

@ブライアン私は最も曇っていません:-)そこのクライアントアプリは同じように動作しますか?同じ設定を探してみてください
AviD

3

どうやらremotefx 問題の原因であるタブレットスタイルの「絶対」入力モードのみを実行します。変更に関するドキュメントが見つかりません。

別のリモートアクセスモードを検討する必要があるかもしれません-Steamは私にとってはうまく機能します(「ホスト」でnvidia GPUを使用し、もう一方の端でディンキーベイベイトレイルボックスを使用します)。Nvidiaにはカードのオプションがありますが、実際には試していません。

つまり、remotefxが使用している入力モードを使用するようにゲームを設定できない限り、remotefxでこれを修正する明白な方法はありません。


2

リモートデスクトップは、クライアントからサーバーに送信する必要があるマウスの動きのパケット数を減らす方法として、絶対的なマウスの動きを送信します。この配置は、ほとんどのWindowsアプリケーション(電子メール、Webブラウジングなど)に適しています。多くの2Dゲームもこれで問題ありません。ただし、FPSゲームでは、通常、リモートデスクトップが送信しないマウスルックを制御するために、相対的なマウスの動きが必要です。マウスの相対的な動きのデータが失われると、ゲームでビューポートが予期せず回転します。マイクロソフトは、このゲームシナリオを機能させるために、リモートデスクトップを変更する必要があります。ただし、PC用のXBOXコントローラーをUSBリダイレクトで使用することは、代替手段になる場合があります。


ありがとう、私はそれを知っていて、またほとんどの場合@Journeymanの答えを繰り返しています...しかし、コントローラーは良い解決策です(私を助けてくれないでしょう...)
AviD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.