Нестабільний рух миші в 3D-іграх через RDP за допомогою RemoteFX


11

Здається, що драйвер миші за замовчуванням при з'єднанні з RDP не працює добре з певними програмами, наприклад, 3D-іграми.

Моя установка:

  • Windows 2012 R2 з Hyper-V та сильною графічною картою
  • VM з Windows 8.1 Enterprise, RemoteFX та vGPU налаштовані
  • Підключення з RDP по швидкому зв’язку.

Продуктивність 3D-відео чудова, завдяки RemoteFX / vGPU. Це, безумовно, дозволяє грати дуже грати через RDP (якщо б не миша).

Проблема полягає в тому, що миша реагує досить шалено, коли в грі - але абсолютно нормально поза 3D-середовищем. (Наприклад, в ігрових меню миша просто чудова).

Найближче я міг сказати, як від експериментів, так і від пошуку в Інтернеті (у багатьох інших людей була однакова проблема, але рішення не знайдено) - здається, драйвер миші передає своє відносне місце, а не рух.
Ця "теорія" добре співвідноситься з деякими поясненнями того, як вказівник миші стрибає у вікно RDP та виходить з нього (наприклад, перемістіть його у вікно зліва, назад праворуч - і воно поводиться ідеально, тобто миша на базі місця та не на основі руху), а також з поведінкою під час гри - наприклад, якщо я переміщу мишу вручну ліворуч, погляд дивно скаче ліворуч; якщо я потім переміщу його трохи вправо, але все ж не весь шлях назад до центру (тобто миша все ще ліворуч від центру, але рухається праворуч), вона продовжує стрибати вліво. (Тобто, здається, він все ще повідомляє, що це місце розташування "зліва від центру" замість "переміщення вправо").

Я сподіваюся знайти будь-яке рішення цього питання. Ідеї ​​кого?


хм. Чи вдасться експериментувати з більш ігровою платформою віддаленого доступу? Мережі nvidia і потокова пара добре працюють для мене (понад гігабіт). Також відносна позиція мені нагадує мускування планшетного стилю.
Подорожник Geek

Божевільний, що через роки, це все ще не виправлено. :(
Apache

Відповіді:


8

Нічого собі, після тонни досліджень та невдалих спроб, я насправді вирішив це!
Ну, здебільшого це вирішили - це функціонально, але не без недоліків.

Завдяки відповіді @ JourneymanGeek і, зокрема, публікації, до якої він посилався, я зміг прослідкувати за головою, і врешті-решт виявив, що серед багатьох інтерфейсів, реалізованих клієнтом ActiveX віддаленого робочого столу, один з них підтримує властивість RelativeMouseMode ! Це звучить як саме те, що мені потрібно, це змусить RDP підтримувати відносні рухи миші!

Однак я помітив у цьому дописі на форумах MSDN, що "RelativeMouseMode не підтримується в сценаріях RDP RDSH / RDVH і його не слід використовувати", але я зрозумів, що з цим вибиратися, це не реальна виробнича обстановка, і я добре використовував функція, яка не підтримується. Це також було погано задокументовано, але здавалося, що я маю те, що мені потрібно - це запитання на StackOverflow також дало мені надію, що це можна виконати.

Отже, я почав працювати над впровадженням простого додатка WinForms для розміщення керування ActiveX з набором властивостей інтерфейсу "... Небезпечно".


За винятком того, що, як виявляється, під "непідтримуваним" цього разу Microsoft означало "це не працює".
Ну, якщо б це було, це було б питанням ТАК, вибачте, що вас ведуть далі (але я думаю, що добре, щоб це було десь задокументовано ...)


Однак не все було нанівець, під час усього копання протоколу RDP я дивився на перенаправлення USB RemoteFX - і це виглядало як тупик, оскільки основні пристрої введення (такі як миша, клавіатура, принтер) явно заблоковані від механізму перенаправлення USB:

За замовчуванням пристрої у вищезазначених категоріях доступні у віддаленому сеансі за допомогою методів перенаправлення пристроїв високого рівня. Ці методи перенаправлення дозволяють досягти оптимальної продуктивності та зворотної сумісності пристрою у більшості сценаріїв користувачів. Отже, ці пристрої не пропонуються через перенаправлення USB RemoteFX.

Ну і остаточна відповідь, як виявляється, полягає в тому, що в цьому блоці є механізм переоцінки.


Крок 1: Увімкнути віддалене перенаправлення USB RemoteFX
Тут є чудова розробка: http://windowsitpro.com/virtualization/q-how-do-i-enable-remotefx-usb-redirection . В основному, на клієнтській машині, можна використовувати або локальну політику або групову політику для набору RemoteFX USB Device Redirectionдо Enable, і дозволяють користувачам (або просто адмін) праві. Потім gpupdate /forceі перезавантажте.

Крок 2: Увімкніть перемикання перенаправлення для миші.
Як пояснюється в цій статті MS KB , ви можете встановити ключ реєстру, щоб увімкнути певний пристрій (або клас пристрою) для перенаправлення USB.

Знову про клієнта, під

HKEY_LOCAL_MACHINE \ SOFTWARE \ Політика \ Microsoft \ Windows NT \ Термінальні послуги \ Клієнт \ UsbSelectDeviceByInterfaces

ви можете додати значення рядка за допомогою ідентифікатора пристрою.
Наприклад, під цим ключем я додав таке значення рядка:

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

Залежно від вашої миші, вам може знадобитися інший ідентифікатор, тому YMMV. Але почніть з цього.

Крок 3: Встановіть клієнт RDP для перенаправлення миші.
Як зазначено у статті з кроку 1:

Після ввімкнення перейдіть на вкладку "Локальні ресурси", натисніть "Додатково" під місцевими пристроями та ресурсами, і ви побачите нове налаштування USB-пристроїв RemoteFX. Цей параметр можна використовувати для відображення багатьох типів апаратних засобів USB, які ви не змогли перенаправити на ванільну RDP USB, як показано нижче.

Під цим ви повинні побачити запис для миші; це може бути дещо неоднозначно, наприклад:

Перенаправлення інших пристроїв

Виберіть мишу (або інший відповідний запис).

Це воно! Тепер у вас встановлена ​​апаратна миша, "прикріплена" безпосередньо до вашого віртуального комп'ютера, що дозволяє 3D-іграм витягувати відносні рухи миші безпосередньо з драйвера миші (-ish ..)


Однак, як було зазначено, є деякі недоліки.

  1. Миша переспрямовується на VM RemoteFX'd - іншими словами, клієнтська машина більше не має миші , принаймні, поки відкритий сеанс віддаленого робочого столу.
    Можливим рішенням було б приєднати другу мишу і перенаправити лише одну з них. (Я ще маю це спробувати, але це має спрацювати чудово).

  2. Чомусь, коли перенаправлена ​​миша не показує курсор безпосередньо на віддаленому сеансі. Незважаючи на те, що вона все ще працює, це робить трохи заплутаним націлювання на те, на що вказує ваша миша.
    Просте рішення - увімкнути Мишачі стежки, щоб довжина була зменшена до кінця. Мишачі стежки
    Це призведе до появи місця миші, але це трохи мляво.

  3. В цілому, хоча це рішення працює добре, миша все ще трохи повільна і млява.
    Ви можете повернути вгору швидкість миші, грати з точністю покажчика (іноді вимкнувши буде на самому ділі допомогти з цим), і навіть погратися з настройками реєстру прискорення миші при HKEY_CURRENT_USER\Control Panel\Mouse( Mouse Speed, MouseThreshold1і MouseThreshold2відповідно).
    Це допоможе пом'якшити проблему, але насправді не змусить її піти.

В цілому, це може зробити навіть 3D-ігри дуже відтворюваними - для випадкових ігор, на жаль, не чудово для посмикування. (Хоча якщо вам потрібно, ви можете просто завантажувати метал прямо у цей VHD і мати обидва варіанти ....)


Молодці ... сподіваємось, хтось може перенести цю інформацію і в інше місце.
Я кажу, відновіть Моніку

Я використовую Microsoft Remote DesktopMacBook Pro. Чи є якийсь механізм переосмислення для Mac?
Брайан

@Brian У мене не самий туманний :-) Чи працює там програма клієнта так само? Спробуйте шукати ті самі налаштування ...
AviD

3

Мабуть, remotefx виконує лише «абсолютні» режими введення планшетного ПК , що є джерелом вашої проблеми. Я не можу знайти жодної документації щодо її зміни.

Можливо, вам доведеться розглянути альтернативний режим віддаленого доступу - пар добре працює для мене (використовуючи графічний процесор nvidia на "хості" та вигадливий маленький ящик для заливу на іншому кінці). У Nvidia є можливість їх карт, але я цього не дуже намагався.

Коротше кажучи, немає очевидного способу виправити це за допомогою remotefx, якщо тільки в грі не вдасться встановити режим введення, який використовує remotefx.


2

Віддалений робочий стіл передає абсолютні рухи миші, як спосіб зменшити кількість пакетів руху миші, які потрібно надіслати від клієнта до сервера. Ця композиція працює добре для більшості програм Windows (електронна пошта, веб-перегляд тощо). Багато 2D-ігри теж добре в цьому. Однак для FPS-ігор, як правило, потрібні відносні рухи миші для управління мишками, які віддалений робочий стіл, на жаль, не передає. Втрата відносних даних про рух миші - це те, що змушує гру несподівано обертати область перегляду. Майкрософт повинен змінити віддалений робочий стіл для того, щоб цей ігровий сценарій працював. Однак використання контролера XBOX для ПК з перенаправленням USB може стати для вас додатковим.


Дякую, я якось це знав, а також здебільшого повторював відповідь @ Journeyman ... але контролер є хорошим рішенням (хоча мені не допоможуть мені ...)
AviD
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.