Похоже, что драйвер мыши по умолчанию при соединении с RDP плохо работает с некоторыми приложениями, такими как 3D-игры.
Моя настройка:
- Windows 2012 R2 с Hyper-V и мощной видеокартой
- ВМ с настроенной Windows 8.1 Enterprise, RemoteFX и vGPU
- Соединение с RDP по быстрой ссылке.
Производительность 3D видео отличная, благодаря RemoteFX / vGPU. Это определенно позволяет играм быть очень играбельными по RDP (если бы не мышь).
Проблема в том, что в игре мышь реагирует довольно безумно - но совершенно нормально вне 3D-среды. (Например, в игровых меню мышь просто отлично).
Насколько можно судить по экспериментам и многим поискам в Интернете (у многих других людей была такая же проблема, но решения не найдено) - кажется, что драйвер мыши передает свое относительное местоположение вместо движения.
Эта «теория» хорошо коррелирует с некоторыми объяснениями того, как указатель мыши прыгает в окно RDP и выходит из него (например, перемещает его из окна слева, обратно справа - и он ведет себя отлично, то есть мышь на основе местоположения и не на основе движений), а также с поведением в игре - например, если я перемещаю мышь влево, изображение безумно переходит влево; если я затем переместлю его немного вправо, но все еще не полностью назад к центру (то есть мышь все еще находится слева от центра, но перемещается вправо), он продолжает прыгать влево. (Т.е. кажется, что он все еще сообщает о своем местоположении "слева от центра" вместо "перемещения вправо").
Я надеюсь найти ЛЮБОЕ решение для этого. Идеи кого-нибудь?
Ответы:
Ничего себе, после тонны исследований и неудачных попыток, я действительно решил это!
Ну, в основном это решено - это функционально, но не без недостатков.
Благодаря ответу @ JourneymanGeek и, в частности, публикации, на которую он ссылался, я смог последовать примеру и в конечном итоге обнаружил, что среди множества интерфейсов, реализованных в ActiveX Client Remote Desktop Client, один из них поддерживает свойство RelativeMouseMode ! Это звучит как то, что мне нужно, это заставит RDP поддерживать относительные движения мыши!
Однако в этом сообщении на форуме MSDN я отметил, что «RelativeMouseMode не поддерживается в сценариях RDP RDSH / RDVH и не должен использоваться», но я решил, что это не настоящая производственная среда, и я был в порядке, используя функция, которая не поддерживается. Это также было плохо документировано, но казалось, что у меня было то, что мне было нужно - этот вопрос на StackOverflow также дал мне надежду, что это выполнимо.
Итак, я приступил к реализации простого приложения WinForms для размещения элемента управления ActiveX с установленными свойствами интерфейса «... Unsafe».
За исключением того, что, как оказалось, под «неподдерживаемым» на этот раз Microsoft подразумевала «это не работает».
Ну, если бы это было так, это был бы ТАК вопрос, извините, что привел вас (но я думаю, что хорошо, чтобы это было где-то задокументировано ...)
Однако не все было напрасно, во время всего этого углубления в протокол RDP я смотрел на перенаправление USB RemoteFX - и это выглядело как тупик, поскольку основные устройства ввода (такие как мышь, клавиатура, принтер) явно заблокированы из механизма перенаправления USB:
Итак, окончательный ответ, как выясняется, состоит в том, что есть механизм переопределения для этого блока.
Шаг 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.
Опять на клиенте, под
Вы можете добавить строковое значение с идентификатором устройства.
Например, под этим ключом я добавил следующее строковое значение:
В зависимости от вашей мыши, вам может потребоваться другой идентификатор, поэтому YMMV. Но начни с этого.
Шаг 3: Установите RDP-клиент для перенаправления мыши.
В статье из шага 1 указано:
Под этим вы должны увидеть запись для вашей мыши; это может быть немного двусмысленно, например:
Выберите вашу мышь (или другую подходящую запись).
Это оно! Теперь у вас есть подключенная к вашей виртуальной машине аппаратная мышь, которая позволяет 3D-играм извлекать относительные движения мыши непосредственно из драйвера мыши (-ish ..)
Однако, как указано, есть некоторые недостатки.
Мышь перенаправляется на виртуальную машину RemoteFX - другими словами, на клиентском компьютере больше нет мыши , по крайней мере, когда сеанс удаленного рабочего стола открыт.
Возможное решение - подключить 2-ю мышь и перенаправить только одну из них. (Я еще не попробовал это, но это должно работать просто отлично).
По какой-то причине при перенаправлении мышь не отображает курсор напрямую в удаленном сеансе. Хотя он все еще работает, он немного сбивает с толку прицеливания, на который указывает ваша мышь.
Простое решение состоит в том, чтобы включить мышиные следы, при этом длина должна быть уменьшена до конца.
Это будет иметь местоположение мыши, но это немного вяло.
В целом, хотя это решение работает хорошо, мышь все еще немного медленная и вялая.
Вы можете повернуть вверх скорость мыши, играть с точностью указателя (иногда выключив будет на самом деле помочь с этим), и даже поиграться с настройками реестра ускорение мыши при
HKEY_CURRENT_USER\Control Panel\Mouse
(Mouse Speed
,MouseThreshold1
иMouseThreshold2
соответственно).Это поможет смягчить проблему, но не заставит ее исчезнуть.
Таким образом, в целом, это может сделать даже 3D-игры очень играбельными - для казуальных игр, к сожалению, не очень хорошими для игр с подергиванием. (Хотя, если вам это нужно, вы можете просто загрузить металл прямо в этот VHD и иметь оба варианта ....)
источник
Microsoft Remote Desktop
на MacBook Pro. Есть ли механизм переопределения для Mac?Очевидно, что remotefx работает только в «абсолютных» режимах ввода планшета , что является источником вашей проблемы. Я не могу найти документацию по его изменению.
Возможно, вам придется подумать об альтернативном режиме удаленного доступа - у меня хорошо работает steam (использование графического процессора nvidia на «хосте» и странного небольшого отсека на другой стороне). У Nvidia есть опция для их карт, но я на самом деле не пробовал.
Короче говоря, нет очевидного способа исправить это с помощью remotefx, если игра не может быть настроена на использование режима ввода, который использует remotefx.
источник
Удаленный рабочий стол передает абсолютные движения мыши, чтобы уменьшить количество пакетов перемещения мыши, которые необходимо отправить от клиента к серверу. Это расположение хорошо работает для большинства приложений Windows (электронная почта, просмотр веб-страниц и т. Д.). Многие 2D игры тоже подойдут. Тем не менее, игры FPS, как правило, нуждаются в относительных движениях мыши для управления внешним видом мыши, который, к сожалению, не передает Remote Desktop. Потеря относительных данных о движении мыши - это то, что заставляет игру неожиданно поворачивать окно просмотра. Microsoft необходимо изменить Remote Desktop, чтобы этот игровой сценарий работал. Тем не менее, использование контроллера XBOX для ПК с перенаправлением USB может быть альтернативой для вас.
источник