Parece que o driver do mouse padrão ao se conectar ao RDP não funciona bem com certos aplicativos, como jogos em 3D.
Minha configuração:
- Windows 2012 R2 com Hyper-V e placa gráfica forte
- VM com Windows 8.1 Enterprise, RemoteFX e vGPU configurados
- Conectando-se ao RDP através do link rápido.
O desempenho de vídeo 3D é excelente, graças ao RemoteFX / vGPU. Definitivamente, permite que os jogos sejam muito jogáveis por RDP (se não fosse o mouse).
O problema é que o mouse reage muito loucamente quando está em jogo - mas completamente normal fora do ambiente 3D. (Por exemplo, nos menus do jogo, o mouse está ótimo).
O mais próximo que pude dizer, tanto pela experimentação quanto pela busca on-line (muitas outras pessoas tiveram o mesmo problema, mas nenhuma solução foi encontrada) - parece que o driver do mouse transmite sua localização relativa, em vez de movimento.
Essa "teoria" se correlaciona bem com algumas explicações de como o ponteiro do mouse entra e sai da janela do RDP (por exemplo, mova-o para fora da janela da esquerda, volte para a direita - e se comporta perfeitamente, por exemplo, mouse baseado em localização e não baseado em movimento) e também com o comportamento no jogo - por exemplo, se eu mover o mouse um bocado para a esquerda, a exibição saltará loucamente para a esquerda; se eu o mover um pouco para a direita, mas ainda não todo o caminho de volta ao centro (ou seja, o mouse ainda estiver à esquerda do centro, mas se mover para a direita), ele continuará pulando para a esquerda. (Ou seja, parece que ainda está relatando sua localização "esquerda do centro" em vez de "mover para a direita").
Espero encontrar QUALQUER tipo de solução para isso. Idéias alguém?
Respostas:
Uau, depois de uma tonelada de pesquisas e tentativas fracassadas, eu realmente resolvi isso!
Bem, principalmente resolvido - é funcional, mas não sem desvantagens.
Graças à resposta de @ JourneymanGeek, e em particular à postagem à qual ele se vinculou, eu pude seguir o exemplo e, finalmente, descobri que entre as muitas interfaces implementadas pelo Remote Desktop Client ActiveX, uma delas suporta uma propriedade RelativeMouseMode ! Parece exatamente o que eu preciso, forçará o RDP a suportar movimentos relativos do mouse!
No entanto, observei nesta postagem dos fóruns do MSDN que "RelativeMouseMode não é suportado em cenários RDP RDSH / RDVH e não deve ser usado", mas achei que seria um problema, não é um ambiente de produção real e eu estava bem usando um recurso que não é suportado. Também estava mal documentado, mas parecia que eu tinha o que precisava - essa pergunta no StackOverflow também me deu esperança de que fosse possível.
Portanto, comecei a trabalhar na implementação de um aplicativo WinForms simples para hospedar o controle ActiveX, com o conjunto de propriedades da interface "... Inseguro".
Só que, como se vê, por "não suportado", desta vez a Microsoft quis dizer "não funciona".
Bem, se isso acontecesse, isso seria uma pergunta SO, desculpe por levá-lo adiante (mas acho que é bom tê-lo documentado em algum lugar ...)
No entanto, nem tudo foi por nada, durante toda a escavação no protocolo RDP, observei o redirecionamento USB do RemoteFX - e parecia um beco sem saída, pois os dispositivos básicos de entrada (como mouse, teclado, impressora) são explicitamente bloqueados do mecanismo de redirecionamento USB:
Bem, a resposta final, como se vê, é que existe um mecanismo de substituição neste bloco.
Etapa 1: Habilitar o redirecionamento USB do RemoteFX
Há uma boa elaboração aqui: http://windowsitpro.com/virtualization/q-how-do-i-enenable-remotefx-usb-redirection . Basicamente, na máquina do cliente, você pode usar a Política de Local ou Política de grupo para definir
RemoteFX USB Device Redirection
aEnable
, e permitir que os usuários (ou apenas administradores) os direitos. Entãogpupdate /force
e reinicie.Etapa 2: ative a substituição do redirecionamento para o mouse.
Como este artigo da MS KB explica , você pode definir uma chave do Registro para habilitar um dispositivo específico (ou classe de dispositivo) para o redirecionamento USB.
Novamente no cliente, sob
você pode adicionar um valor de sequência com o identificador do dispositivo.
Por exemplo, nessa chave, adicionei o seguinte valor de sequência:
Dependendo do mouse, você pode precisar de um identificador diferente, portanto YMMV. Mas comece com isso.
Etapa 3: defina o cliente RDP para redirecionar o mouse.
Como o artigo da etapa 1 afirmou:
Abaixo disso, você deve ver uma entrada para o mouse; pode ser um pouco ambíguo, como:
Selecione o mouse (ou outra entrada apropriada).
É isso aí! Agora você tem um mouse de hardware conectado "diretamente" à sua VM, o que permite que os jogos em 3D retirem os movimentos relativos do mouse diretamente do driver do mouse (-ish ..)
No entanto, como afirmado, existem algumas desvantagens.
O mouse é redirecionado para a VM RemoteFX'd - em outras palavras, a máquina cliente não possui mais um mouse , pelo menos enquanto a sessão da Área de Trabalho Remota estiver aberta.
Uma solução possível seria conectar um segundo mouse e redirecionar apenas um deles. (Ainda tenho que tentar isso, mas deve funcionar muito bem).
Por algum motivo, quando redirecionado, o mouse não mostra diretamente um cursor na sessão remota. Enquanto ainda funciona, torna um pouco confuso apontar para o que o mouse está apontando.
Uma solução simples é ativar o Mouse Trails, com o comprimento abaixado até o fim.
Isso fará com que o local do mouse seja exibido, mas é um pouco lento.
No geral, embora essa solução funcione bem, o mouse ainda é um pouco lento e lento.
Você pode transformar-se a velocidade do mouse, jogo com precisão do ponteiro (às vezes transformando-OFF vai realmente ajuda com isso), e até mesmo mexer com as configurações do registro aceleração do mouse em
HKEY_CURRENT_USER\Control Panel\Mouse
(Mouse Speed
,MouseThreshold1
e,MouseThreshold2
respectivamente).Isso ajudará a mitigar o problema, mas não fará com que ele desapareça.
Portanto, no geral, isso pode tornar os jogos em 3D muito jogáveis - para jogos casuais, infelizmente não é bom para jogos de twitch. (Porém, se você precisar, basta inicializar o metal diretamente nesse VHD e ter as duas opções ....)
fonte
Microsoft Remote Desktop
um MacBook Pro. Existe algum mecanismo de substituição para Mac?Aparentemente, o remotefx usa apenas modos de entrada "absolutos" no estilo tablet , que é a fonte do seu problema. Não consigo encontrar nenhuma documentação sobre como alterá-lo.
Você pode precisar considerar um modo de acesso remoto alternativo - o steam funciona bem para mim (usando uma GPU nvidia no 'host' e uma pequena caixa de trilha na baía do outro lado). A Nvidia tem uma opção para seus cartões, mas eu realmente não tentei isso.
Em resumo, não há uma maneira óbvia de corrigir isso com o remotefx, a menos que o jogo possa ser configurado para usar o modo de entrada que o remotefx está usando.
fonte
A Área de Trabalho Remota transmite movimentos absolutos do mouse, como uma maneira de reduzir o número de pacotes de movimento do mouse que precisam ser enviados do cliente para o servidor. Esse arranjo funciona bem para a maioria dos aplicativos do Windows (email, navegação na web etc.). Muitos jogos 2D também estão bem com isso. No entanto, os jogos de FPS geralmente precisam de movimentos relativos do mouse para controlar a aparência do mouse, que a Área de Trabalho Remota infelizmente não transmite. A perda de dados relativos ao movimento do mouse é o que faz com que o jogo gire a janela de visualização inesperadamente. A Microsoft precisaria modificar a Área de Trabalho Remota para fazer esse cenário de jogos funcionar. No entanto, o uso do controlador XBOX para PC com redirecionamento USB pode ser uma alternativa para você.
fonte