Chuyển động chuột thất thường trong các trò chơi 3D qua RDP với RemoteFX


11

Có vẻ như trình điều khiển chuột mặc định khi kết nối với RDP không hoạt động tốt với một số ứng dụng nhất định, chẳng hạn như trò chơi 3D.

Thiết lập của tôi:

  • Windows 2012 R2 với Hyper-V và card đồ họa mạnh
  • VM với cấu hình Windows 8.1 Enterprise, RemoteFX và vGPU
  • Kết nối với RDP qua liên kết nhanh.

Hiệu suất video 3D rất tuyệt vời, nhờ RemoteFX / vGPU. Nó chắc chắn cho phép các trò chơi có thể chơi được rất nhiều trên RDP (nếu nó không dành cho chuột).

Vấn đề là chuột phản ứng khá điên cuồng khi ở trong game - nhưng hoàn toàn bình thường bên ngoài môi trường 3D. (Ví dụ trong menu trò chơi, chuột chỉ là tốt).

Gần nhất tôi có thể biết, từ cả thử nghiệm và tìm kiếm trực tuyến nhiều (nhiều người khác có cùng một vấn đề, nhưng không tìm thấy giải pháp nào) - có vẻ như trình điều khiển chuột truyền vị trí tương đối của nó, thay vì di chuyển.
"Lý thuyết" này tương quan tốt với một số giải thích về cách con trỏ chuột nhảy vào và ra khỏi cửa sổ RDP (ví dụ: di chuyển nó ra ngoài cửa sổ bên trái, quay lại bên phải - và nó hoạt động hoàn hảo, tức là chuột dựa trên vị trí và không dựa trên chuyển động) và cũng với hành vi trong trò chơi - ví dụ: nếu tôi di chuyển con chuột sang trái, chế độ xem sẽ nhảy điên cuồng sang bên trái; Nếu sau đó tôi di chuyển nó sang bên phải một chút, nhưng vẫn không quay về trung tâm (tức là con chuột vẫn ở bên trái của trung tâm, nhưng di chuyển sang bên phải) thì nó tiếp tục nhảy sang trái. (Tức là có vẻ như nó vẫn báo cáo vị trí của nó là "bên trái trung tâm" thay vì "di chuyển sang bên phải").

Tôi hy vọng tìm thấy bất kỳ loại giải pháp cho việc này. Ý tưởng ai?


hm Thử nghiệm với một nền tảng truy cập từ xa tập trung vào trò chơi hơn có phải là một lựa chọn không? nvidia streaming và steam streaming hoạt động tốt với tôi (trên gigabit). Vị trí tương đối cũng làm tôi nhớ đến phong cách máy tính bảng.
Journeyman Geek

Điên rồ những năm sau đó, nó vẫn chưa được sửa. :(
Apache

Câu trả lời:


8

Wow, sau một tấn nghiên cứu và những nỗ lực thất bại, tôi thực sự đã giải quyết điều này!
Vâng, chủ yếu là giải quyết nó - đó là chức năng, nhưng không phải không có nhược điểm.

Nhờ câu trả lời của @ JourneymanGeek và đặc biệt là bài đăng mà anh ấy liên kết, tôi đã có thể theo dõi khách hàng tiềm năng và cuối cùng phát hiện ra rằng trong số nhiều giao diện được thực hiện bởi Remote Desktop Client ActiveX, một trong số chúng hỗ trợ thuộc tính RelativeMouseMode ! Nghe có vẻ chính xác những gì tôi cần, nó sẽ buộc RDP hỗ trợ các chuyển động chuột tương đối!

Tuy nhiên, tôi đã lưu ý trên bài đăng Diễn đàn MSDN này rằng "RelativeMouseMode không được hỗ trợ trong các kịch bản RDP RDSH / RDVH và không nên được sử dụng", nhưng tôi nghĩ rằng nó không phải là một môi trường sản xuất thực sự và tôi vẫn ổn khi sử dụng tính năng không được hỗ trợ. Nó cũng được ghi chép kém, nhưng dường như tôi đã có thứ tôi cần - câu hỏi này trên StackOverflow cũng cho tôi hy vọng rằng nó có thể thực hiện được.

Vì vậy, tôi đã thiết lập để thực hiện một ứng dụng WinForms đơn giản để lưu trữ điều khiển ActiveX, với các thuộc tính giao diện "... Không an toàn".


Ngoại trừ khi nó bật ra, bởi "không được hỗ trợ", lần này Microsoft có nghĩa là "nó không hoạt động".
Chà, nếu có, đây sẽ là một câu hỏi SO, xin lỗi vì đã dẫn bạn đi (nhưng tôi nghĩ thật tốt khi được ghi lại ở đâu đó ...)


Tuy nhiên, không phải tất cả là vô ích, trong suốt quá trình đào sâu vào giao thức RDP, tôi đã xem xét Chuyển hướng USB RemoteFX - và nó trông giống như một ngõ cụt, vì các thiết bị đầu vào cơ bản (như chuột, bàn phím, máy in) bị chặn rõ ràng từ cơ chế chuyển hướng USB:

Theo mặc định, các thiết bị trong các danh mục nói trên có thể truy cập được trong phiên từ xa bằng cách sử dụng các phương thức chuyển hướng thiết bị cấp cao. Các phương pháp chuyển hướng này cho phép hiệu suất tối ưu và khả năng tương thích ngược của thiết bị trong phần lớn các tình huống của người dùng. Do đó, các thiết bị này không được cung cấp qua chuyển hướng USB RemoteFX.

Vâng, câu trả lời cuối cùng, như hóa ra, là có một cơ chế ghi đè lên khối này.


Bước 1: Kích hoạt tính năng chuyển hướng USB RemoteFX
Có một công phu tuyệt vời ở đây: http://windowsitpro.com/virtualization/q-how-do-i-enable-remotefx-usb-redirection . Về cơ bản, trên máy client, bạn sử dụng một trong hai chính sách địa phương hoặc Group Policy để thiết lập RemoteFX USB Device Redirectionđể Enable, và cho phép người sử dụng (hoặc chỉ cần quản trị viên) các quyền. Sau đó gpupdate /forcevà khởi động lại.

Bước 2: Kích hoạt ghi đè chuyển hướng cho chuột.
Như bài viết MS KB này giải thích , bạn có thể đặt khóa đăng ký để bật một thiết bị cụ thể (hoặc loại thiết bị) cho Chuyển hướng USB.

Một lần nữa trên máy khách, dưới

HKEY_LOCAL_MACHINE \ PHẦN MỀM \ Chính sách \ Microsoft \ Windows NT \ Terminal Services \ Client \ USBSelectDeviceByInterfaces

bạn có thể thêm một giá trị chuỗi bằng mã định danh thiết bị.
Ví dụ, dưới khóa này tôi đã thêm giá trị chuỗi sau:

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

Tùy thuộc vào chuột của bạn, bạn có thể cần một mã định danh khác, vì vậy YMMV. Nhưng hãy bắt đầu với điều đó.

Bước 3: Đặt máy khách RDP để chuyển hướng chuột.
Như bài viết từ bước 1 đã nêu:

Khi được bật, hãy truy cập tab Tài nguyên cục bộ, nhấp vào Khác trong phần Tài nguyên và thiết bị cục bộ và bạn sẽ thấy cài đặt khác hỗ trợ các thiết bị USB RemoteFX mới. Bạn có thể sử dụng cài đặt này để ánh xạ qua nhiều loại phần cứng USB mà bạn không thể với chuyển hướng USB RDP của vanilla, như hiển thị bên dưới.

Theo đó bạn sẽ thấy một mục cho chuột của bạn; nó có thể là một chút mơ hồ như:

Các thiết bị khác chuyển hướng

Chọn chuột của bạn (hoặc mục thích hợp khác).

Đó là nó! Bây giờ bạn có một con chuột phần cứng được gắn "trực tiếp" vào máy ảo của mình, cho phép các trò chơi 3D lấy ra các chuyển động chuột tương đối trực tiếp từ trình điều khiển chuột (-ish ..)


Tuy nhiên, như đã nêu, có một số nhược điểm.

  1. Chuột được chuyển hướng đến VM của RemoteFX - nói cách khác, máy khách không còn chuột , ít nhất là trong khi phiên Remote Desktop đang mở.
    Một giải pháp khả thi sẽ là gắn một con chuột thứ 2 và chỉ chuyển hướng một trong số chúng. (Tôi vẫn chưa thử cái này, nhưng nó sẽ hoạt động tốt).

  2. Vì một số lý do, khi chuyển hướng chuột không trực tiếp hiển thị một con trỏ trong phiên từ xa. Mặc dù nó vẫn hoạt động, nhưng nó hơi khó hiểu khi nhắm vào con chuột của bạn.
    Một giải pháp đơn giản là bật Chuột Trails, với chiều dài quay xuống hết cỡ. Con đường mòn chuột
    Điều này sẽ có vị trí chuột hiển thị, nhưng nó hơi chậm.

  3. Nhìn chung, trong khi giải pháp này hoạt động tốt, chuột vẫn hơi chậm và chậm chạp.
    Bạn có thể bật lên tốc độ chuột, chơi với con trỏ chính xác (đôi khi biến nó OFF sẽ thực sự giúp đỡ với điều này), và thậm chí quay vòng với các thiết lập tăng tốc chuột registry dưới HKEY_CURRENT_USER\Control Panel\Mouse( Mouse Speed, MouseThreshold1MouseThreshold2tương ứng).
    Điều này sẽ giúp giảm thiểu vấn đề, nhưng không thực sự làm cho nó biến mất.

Vì vậy, về tổng thể, điều này có thể làm cho ngay cả các trò chơi 3D rất dễ chơi - đối với trò chơi thông thường, tiếc là không tuyệt vời khi chơi trò chơi co giật. (Mặc dù nếu bạn cần, bạn chỉ có thể khởi động kim loại thẳng vào VHD đó và có cả hai tùy chọn ....)


Làm tốt lắm ... hy vọng ai đó cũng có thể đưa thông tin này đi làm ở nơi khác.
Tôi nói Phục hồi Monica

Tôi đang sử dụng Microsoft Remote Desktoptrên MacBook Pro. Có bất kỳ cơ chế ghi đè cho Mac?
Brian

@Brian Tôi không có sương mù nhất :-) Ứng dụng khách ở đó có hoạt động giống như vậy không? Hãy thử tìm kiếm các cài đặt tương tự ...
AviD

3

Rõ ràng remotefx chỉ thực hiện các chế độ đầu vào 'tuyệt đối' kiểu máy tính bảng , đây là nguồn gốc của vấn đề của bạn. Tôi không thể tìm thấy bất kỳ tài liệu về việc thay đổi nó.

Bạn có thể cần xem xét một chế độ truy cập từ xa thay thế - hơi nước hoạt động tốt với tôi (sử dụng GPU nvidia trên 'máy chủ' và hộp đường mòn nhỏ ở phía bên kia). Nvidia có một tùy chọn cho thẻ của họ, nhưng tôi chưa thực sự thử nó.

Nói tóm lại, không có cách rõ ràng nào để khắc phục điều này với remotefx, trừ khi trò chơi có thể được thiết lập để sử dụng chế độ đầu vào mà remotefx đang sử dụng.


2

Remote Desktop truyền các chuyển động chuột tuyệt đối, như một cách để giảm số lượng gói chuyển động chuột cần được gửi từ máy khách đến máy chủ. Sự sắp xếp này hoạt động tốt cho hầu hết các ứng dụng Windows (email, duyệt web, v.v.). Nhiều game 2D cũng ổn với điều này. Tuy nhiên, các trò chơi FPS thường cần chuyển động chuột tương đối để kiểm soát mouselook, điều mà Remote Desktop không may không truyền được. Việc mất dữ liệu di chuyển chuột tương đối là nguyên nhân khiến trò chơi xoay chế độ xem bất ngờ. Microsoft sẽ cần phải sửa đổi Remote Desktop để làm cho kịch bản chơi trò chơi này hoạt động. Tuy nhiên, sử dụng bộ điều khiển XBOX cho PC có chuyển hướng USB có thể là một thay thế cho bạn.


Cảm ơn, tôi biết điều đó và cũng chủ yếu lặp lại câu trả lời của @ Journeyman ... nhưng bộ điều khiển là một giải pháp tốt (mặc dù sẽ không giúp tôi ...)
AviD
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.