Jump to content

How to maximize performance on Remote Desktop

Hi y'all! I'm working on a project which I hope would increase my 3D rendering capabilities. I got a laptop which I do all of my posing, settings, etc, and my goal is to send the scene via Remote Desktop to another computer I have ready for rendering. I got everything together and was able to successfully connect my two machines and was able to get the other machine to render. However, the experience on Remote Desktop was really disappointing. Everything was so slow when it came to small graphics tasks like changing camera perspective if I wanted to see something before rendering. How do I maximize Remote Desktop so that I could edit something effortlessly on the second computer if I have to? The laptop has a i7 6 core(9th gen I think) and a RTX 2060. The render machine has a Ryzen 2600x with a GTX 1070. Both computers have 16GB ram.

 

One thing I will note is that both computers are connected via wifi. Maybe that has something to do there. I do plan on getting a used network switch for the studio, would that help? If so, what should I look out for on a budget? I'll probably be adding some more stuff later. Thanks!

Link to comment
Share on other sites

Link to post
Share on other sites

Remote Desktop isn't made for streaming full screen applications/video/games. It's primarily a remote management tool that allows you to control a remote computer (e.g. to install software or configure stuff), but it's not meant to transmit full screen graphics in real time. You can lower resolution, color depth and enable compression, which can help but is going to look worse in return. A wired connection may help (more bandwidth/lower latency) but it can't turn Remote Desktop into something it was never made for.

Remember to either quote or @mention others, so they are notified of your reply

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Eigenvektor said:

Remote Desktop isn't made for streaming full screen applications/video/games. It's primarily a remote management tool that allows you to control a remote computer (e.g. to install software or configure stuff), but it's not meant to transmit full screen graphics in real time. You can lower resolution, color depth and enable compression, which can help but is going to look worse in return. A wired connection may help (more bandwidth/lower latency) but it can't turn Remote Desktop into something it was never made for.

This is wrong.

What you need to do is enable some settings to activate the use of the hardware GPU instead of the default RDP emulated display software driver for RDP connections.

 

Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment

 

Set the following policies to Enable, to enable the use of the AVC/H.264 codec :

  • Configure H.264/AVC hardware encoding for Remote Desktop connections
  • Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections
  • Use the hardware default graphics adapter for all Remote Desktop Services sessions

Specifically, Use the hardware default graphics adapter for all Remote Desktop Services sessions will activate DirectX/OpenGL and the GPU over RDP

 

RDP is designed for applications!

That is so plainy wrong. 

terminal services have existed for a long time and are used by many organizations to publish applications to end users.

Link to comment
Share on other sites

Link to post
Share on other sites

36 minutes ago, tech.guru said:

RDP is designed for applications!

That is so plainy wrong. 

terminal services have existed for a long time and are used by many organizations to publish applications to end users.

Thank you for the correction, I suppose my knowledge is outdated then. I have actually used Terminal Services in the past (oops ?) and I remember them as "usable" but quite slow in terms of full screen refreshes. Is this available in regular Windows 10 or does this require a server edition? In my case it was more of a cost saving measure with one big server running the application and database and lots of thin clients that would just run the one app over RDP.

Remember to either quote or @mention others, so they are notified of your reply

Link to comment
Share on other sites

Link to post
Share on other sites

Using GPU for RDP is supported with Windows 10 and Server 2016.

 

In larger enviroments, microsoft did introduce remotefx which even without a gpu started to allow 3d video and things not possible before. This was introduced in 2008 r2.

 

Citrix XenApp also has its own flavour, hdx which has more improvements.

One is HDX Pro 3d is which is specifically designed for this use case and in use by major companies.

 

Combining HDX Pro 3d and NVIDIA vGPU you can virtualize workloads without using direct video card assignment on the hypervisor. 

AutoCAD, ArcGIS and other workloads work with this solution and scale quite well.

 

In his case being just single computer using some RDP tweaks to use the discrete GPU in remote sessions should make a big difference 

 

Microsoft has more info,

https://techcommunity.microsoft.com/t5/enterprise-mobility-security/remote-desktop-protocol-rdp-10-avc-h-264-improvements-in-windows/ba-p/249588

Link to comment
Share on other sites

Link to post
Share on other sites

  • 1 month later...

I ran across this thread after I had already enabled these tweaks.  I'm not looking for a gaming experience.  but I was hoping to reduce input lag and increase frame rate when moving the windows around.

 

I typically use my Mac Pro (2013) for daily duties.  Email, photoshop...etc..  The gaming PC is used very much like a console, or as the HTPC.  Its set to boot into Steam BigPicture, and Plex is added as an application in Steam.  So I will either pick up the game controller and start playing a game, or I'll launch Plex and start watching a movie.


However, sometimes the case arises where I will want to use the gaming PC as a desktop.

 

For that, I have RDP enabled and I've already enabled those 3 acceleration tweaks, but honestly the performance isn't really that great.  When I RDP into the computer I run it full screen.

 

I have MS Remote Desktop 10 installed on my Mac, and the Gaming PC is running Windows 10 1909. I was hoping enabling those tweaks would make the session closer to what I experience with Steam when using Steam streaming.  But it wasn't quite as good.  Its usable, I was just looking for better.

 

Without getting into enterprise grade solutions (and pricing) does anyone know of another remote host app?

 

I thought to try just adding File explorer as an non-steam app to Steam, but while it certainly launches a new explorer window, it doesn't actually display the desktop like I'd hoped.  Launching other apps like notepad doesn't really do what I'd hoped either.

Home PC: Apple M1 Mini, 16gb, 1TB, 10Gig-E.  Adobe CC and Ripping things + Daily stuff.

Gaming PC: Ryzen 7 5800x, 32GB, Nvidia RTX 3080Ti stuffed into a Corsair 380T.

Asgard the FreeNAS Plex Server: AMD EPYC 7443p 24 Core, SuperMicro H12SSL-CT Mobo, 256GB DDR4 3200mhz, Norco 4224 Rack Mount. 100TB+ TrueNAS Core.

 

Toys:

2017 Focus RS | Frozen White | Daily Driver

1989 Pontiac TransAm | GM Triple White | Heads/Cammed LT1 + T56 swap | Suspension goodies up the wazoo. | HPDE Weekend Warrior toy.

Link to comment
Share on other sites

Link to post
Share on other sites

If the software is using OpenGL in any ways you are out of luck. Remote desktop does not support OpenGL, instead it rely on a layer than convert the OpenGL calls to something else entirely an it has been like this for decades. I have to deal with these issues daily. Performance is horrible in those case not including graphic errors, bad transparency handling, off ray cast angles. etc. Not everything is wrong, some program does work~ish but you will never be able to put a label on your result as it's 100% accurate.

 

Your programs probably won't have any support from using it OpenGL. Devs are trying to get support from Kronos get sent to Microsoft and Microsoft simply don't care or send them back to Kronos.

 

Here a link to a post with some workaround if it help you great if not your in the same deal a i am with couple thousands computer i deal with.

https://stackoverflow.com/questions/51705471/current-state-and-solutions-for-opengl-over-windows-remote

 

Again this is all IF it used OpenGL and you don't have Quadro Card with Windows Server 2016 (they claim it should work with Windows 10 but i have Windows 10 and i use a M6000 and it doesn't work)

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 years later...
On 12/31/2019 at 7:12 AM, tech.guru said:

This is wrong.

What you need to do is enable some settings to activate the use of the hardware GPU instead of the default RDP emulated display software driver for RDP connections.

 

Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment

 

Set the following policies to Enable, to enable the use of the AVC/H.264 codec :

  • Configure H.264/AVC hardware encoding for Remote Desktop connections
  • Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections
  • Use the hardware default graphics adapter for all Remote Desktop Services sessions

Specifically, Use the hardware default graphics adapter for all Remote Desktop Services sessions will activate DirectX/OpenGL and the GPU over RDP

 

RDP is designed for applications!

That is so plainy wrong. 

terminal services have existed for a long time and are used by many organizations to publish applications to end users.

I bookmarked your comment many years ago and put it into my RDP documentation / configuration file. It's worth adding to this (very old) thread that I had consistent issues specifically with the H264 options. Both machines with Geforce GPUs (Pascal or newer) and I would get green screen corruption connecting from my desktop (3 monitors) to a laptop. I would also get some form of error and the connection would drop at times. I can get that today, but it's far less common with H264 disabled. I do think the 3 monitors and sheer pixels being pushed has an impact on how well this H264 RDP implementation works. Both fully up to date Windows 11 installs.

 

I've been using RDP with both H264 options you detailed here disabled for many years now, with no issues. It's probably time I retest, but lack of H264 compression has just-worked for me. 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×