Pergerakan mouse tidak menentu dalam game 3D melalui RDP dengan RemoteFX

11

Tampaknya driver mouse default saat menghubungkan dengan RDP tidak berfungsi dengan baik dengan aplikasi tertentu, seperti game 3D.

Pengaturan saya:

  • Windows 2012 R2 dengan Hyper-V dan kartu grafis yang kuat
  • VM dengan Windows 8.1 Enterprise, RemoteFX dan vGPU dikonfigurasi
  • Menghubungkan dengan RDP melalui tautan cepat.

Performa video 3D sangat bagus, terima kasih kepada RemoteFX / vGPU. Ini jelas memungkinkan game menjadi sangat bisa dimainkan di atas RDP (jika bukan karena mouse).

Masalahnya adalah bahwa mouse bereaksi cukup gila ketika di dalam game - tetapi benar-benar normal di luar lingkungan 3D. (Misalnya dalam menu game, mouse tidak masalah).

Saya bisa tahu, dari eksperimen dan banyak pencarian online (banyak orang lain memiliki masalah yang sama, tetapi tidak ada solusi yang ditemukan) - sepertinya driver mouse mentransmisikan lokasi relatifnya, daripada bergerak.
"Teori" ini berkorelasi baik dengan beberapa penjelasan tentang bagaimana penunjuk mouse melompat masuk dan keluar dari jendela RDP (misalnya memindahkannya ke luar jendela di sebelah kiri, kembali di sebelah kanan - dan berperilaku sempurna, yaitu mouse berbasis lokasi dan tidak berbasis gerak), dan juga dengan perilaku dalam game - misalnya jika saya menggerakkan tetikus mouse ke kiri, tampilan melompat dengan gila ke kiri; jika saya kemudian memindahkannya sedikit ke kanan, tetapi masih tidak semua jalan kembali ke pusat (yaitu mouse masih di sebelah kiri tengah, tetapi bergerak ke kanan) terus melompat ke kiri. (Yaitu tampaknya masih melaporkan lokasi itu "kiri tengah" daripada "bergerak ke kanan").

Saya berharap dapat menemukan solusi apa saja untuk ini. Ide siapa?

Keranjingan
sumber
hm Akankah bereksperimen dengan platform akses jarak jauh yang lebih berpusat pada game menjadi pilihan? nvidia streaming dan steam streaming bekerja dengan baik untuk saya (over gigabit). Posisi relatif juga mengingatkan saya pada mousing gaya tablet.
Journeyman Geek
Gila bertahun-tahun kemudian, itu masih belum diperbaiki. :(
Apache

Jawaban:

8

Wow, setelah banyak penelitian dan upaya gagal, saya benar-benar menyelesaikan ini!
Yah, sebagian besar menyelesaikannya - itu fungsional, tetapi bukan tanpa kekurangan.

Terima kasih atas jawaban JourneymanGeek, dan khususnya pos yang ditautkannya, saya dapat mengikuti petunjuknya, dan akhirnya menemukan bahwa di antara banyak antarmuka yang diterapkan oleh Remote Desktop Client ActiveX, salah satunya mendukung properti RelativeMouseMode ! Kedengarannya persis seperti yang saya butuhkan, itu akan memaksa RDP untuk mendukung gerakan mouse relatif!

Namun, saya mencatat pada posting Forum MSDN ini bahwa "RelativeMouseMode tidak didukung dalam skenario RDP RDSH / RDVH dan tidak boleh digunakan", tetapi saya pikir untuk melakukannya, itu bukan lingkungan produksi nyata, dan saya baik-baik saja menggunakan fitur yang tidak didukung. Itu juga tidak terdokumentasi dengan baik, tetapi sepertinya saya memiliki apa yang saya butuhkan - pertanyaan tentang StackOverflow ini juga memberi saya harapan bahwa itu bisa dilakukan.

Jadi, saya mulai bekerja menerapkan aplikasi WinForms sederhana untuk meng-host kontrol ActiveX, dengan set properti antarmuka "... Tidak Aman".


Kecuali ternyata, oleh "tidak didukung", kali ini Microsoft berarti "tidak bekerja".
Nah, jika itu terjadi, ini akan menjadi pertanyaan SO, maaf telah membimbing Anda (tapi saya pikir sebaiknya didokumentasikan di suatu tempat ...)


Namun, tidak semua sia-sia, selama semua menggali ke dalam protokol RDP, saya melihat RemoteFX USB Redirection - dan itu tampak seperti jalan buntu, karena perangkat input dasar (seperti mouse, keyboard, printer) secara eksplisit diblokir. dari mekanisme Redirection USB:

Secara default, perangkat dalam kategori tersebut dapat diakses di sesi jarak jauh dengan menggunakan metode pengalihan perangkat tingkat tinggi. Metode pengalihan ini memungkinkan kinerja optimal dan kompatibilitas perangkat di sebagian besar skenario pengguna. Akibatnya, perangkat ini tidak ditawarkan melalui pengalihan USB RemoteFX.

Nah, jawaban terakhir, ternyata, adalah bahwa ada mekanisme override untuk blok ini.


Langkah 1: Aktifkan Remoteir USB Redirection
Ada elaborasi yang bagus di sini: http://windowsitpro.com/virtualization/q-how-do-i-enable-remotefx-usb-redirection . Pada dasarnya, pada mesin klien, Anda menggunakan Kebijakan Lokal atau Kebijakan Grup untuk diatur RemoteFX USB Device Redirectionke Enable, dan memungkinkan pengguna (atau hanya admin) hak. Lalu gpupdate /forcedan reboot.

Langkah 2: Aktifkan pengalihan pengalihan untuk mouse.
Seperti yang dijelaskan oleh artikel MS KB ini , Anda dapat mengatur kunci registri untuk mengaktifkan perangkat tertentu (atau kelas perangkat) untuk Redirection USB.

Sekali lagi pada klien, di bawah

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

Anda dapat menambahkan nilai string dengan pengidentifikasi perangkat.
Misalnya, di bawah kunci ini saya menambahkan nilai string berikut:

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

Tergantung pada mouse Anda, Anda mungkin perlu pengidentifikasi yang berbeda, jadi YMMV. Tapi mulailah dengan itu.

Langkah 3: Atur klien RDP untuk mengarahkan ulang mouse.
Seperti yang disebutkan dalam artikel dari langkah 1:

Setelah diaktifkan, akses tab Sumber Daya Lokal, klik Lainnya di bawah Perangkat dan sumber daya lokal, dan Anda akan melihat Lainnya lainnya mendukung pengaturan perangkat USB RemoteFX. Anda dapat menggunakan pengaturan ini untuk memetakan melalui banyak jenis perangkat keras USB yang tidak dapat Anda lakukan dengan pengalihan USB vanilla RDP, seperti yang ditunjukkan di bawah ini.

Di bawah itu Anda akan melihat entri untuk mouse Anda; mungkin agak ambigu seperti:

Pengalihan perangkat lain

Pilih mouse Anda (atau entri lain yang sesuai).

Itu dia! Anda sekarang memiliki mouse perangkat keras yang terpasang "langsung" ke VM Anda, yang memungkinkan game 3D untuk mengeluarkan gerakan relatif mouse langsung dari driver mouse (-ish ..)


Namun, seperti yang disebutkan, ada beberapa kekurangan.

  1. Mouse diarahkan ke VM RemoteFX'd - dengan kata lain, mesin klien tidak lagi memiliki mouse , setidaknya saat sesi Remote Desktop terbuka.
    Solusi yang mungkin adalah memasang mouse kedua, dan mengarahkan ulang hanya satu saja. (Saya belum mencoba ini, tetapi harus berfungsi dengan baik).

  2. Untuk beberapa alasan, ketika diarahkan ulang mouse tidak secara langsung menampilkan kursor di sesi jarak jauh. Meskipun masih berfungsi, itu membuatnya agak membingungkan untuk mengarahkan apa yang ditunjuk mouse Anda.
    Solusi sederhana adalah dengan mengaktifkan Jejak Mouse, dengan panjangnya ditolak sepenuhnya. Jejak tikus
    Ini akan membuat lokasi mouse muncul, tetapi agak lambat.

  3. Secara keseluruhan, sementara solusi ini bekerja dengan baik, mouse masih agak lambat dan lamban.
    Anda dapat muncul kecepatan mouse, bermain dengan pointer presisi (kadang-kadang mengubahnya OFF akan benar-benar membantu dengan ini), dan bahkan bermalas dengan pengaturan registry percepatan tikus di bawah HKEY_CURRENT_USER\Control Panel\Mouse( Mouse Speed, MouseThreshold1, dan MouseThreshold2masing-masing).
    Ini akan membantu mengurangi masalah, tetapi tidak benar-benar membuatnya pergi.

Jadi secara keseluruhan, ini dapat membuat bahkan game 3D sangat dapat dimainkan - untuk permainan kasual, sayangnya tidak bagus untuk permainan kedutan. (Meskipun jika Anda membutuhkannya, Anda bisa langsung mem-boot logam ke VHD itu, dan memiliki kedua opsi ....)

Keranjingan
sumber
Bagus sekali ... semoga seseorang dapat menaruh informasi ini untuk bekerja di tempat lain juga.
Saya katakan Reinstate Monica
Saya menggunakan Microsoft Remote Desktopdi MacBook Pro. Apakah ada mekanisme override untuk Mac?
Brian
@Brian Saya belum foggiest :-) Apakah aplikasi klien di sana bekerja dengan cara yang sama? Coba cari pengaturan yang sama ...
AviD
3

Rupanya remotefx hanya melakukan mode input 'absolut' gaya tablet , yang merupakan sumber masalah Anda. Saya tidak dapat menemukan dokumentasi tentang mengubahnya.

Anda mungkin perlu mempertimbangkan mode akses jarak jauh alternatif - steam bekerja dengan baik untuk saya (menggunakan GPU nvidia pada 'host' dan kotak jejak teluk kecil mungil di ujung yang lain). Nvidia memiliki opsi untuk kartu mereka, tetapi saya belum benar-benar mencobanya.

Singkatnya, tidak ada cara yang jelas untuk memperbaikinya dengan remotefx, kecuali gim dapat diatur untuk menggunakan mode input yang digunakan remotefx.

Journeyman Geek
sumber
2

Remote Desktop mentransmisikan gerakan mouse absolut, sebagai cara untuk mengurangi jumlah paket gerakan mouse yang perlu dikirim dari klien ke server. Pengaturan ini berfungsi dengan baik untuk sebagian besar aplikasi windows (email, penelusuran web, dll). Banyak game 2D juga baik-baik saja dengan ini. Namun, game FPS umumnya memerlukan gerakan mouse relatif untuk mengontrol mouse, yang sayangnya Remote Desktop tidak mengirimkannya. Hilangnya data pergerakan mouse relatif inilah yang menyebabkan game merotasi viewport secara tak terduga. Microsoft perlu memodifikasi Remote Desktop untuk membuat skenario permainan ini berfungsi. Namun, menggunakan pengontrol XBOX untuk PC dengan redirection USB mungkin merupakan alternatif bagi Anda.

Pengontrol XBOX
sumber
Terima kasih, saya agak tahu itu, dan juga sebagian besar mengulangi jawaban Journeyman ... tetapi controller adalah solusi yang baik (meskipun tidak akan membantu saya ...)
AviD