Hi,
I've noticed some strange behaviour of Remote Desktop Services.
I have remote Windows Server 2012 R2 running in data center. There is 100 Mb/s download / 100 Mb/s upload internet link tested with speedtest.net. I have also two laptops with Windows 8.1 in my office running on 25 Mb/s donwload / 3 Mb/s upload link. One of the laptops has 1280 x 800 screen resolution and the second one has 2880 x 1620 pixels.
I tested the connection speed by downloading 2 GB file from Windows Server to my laptop. File was downloaded with 25 Mb/s speed as expected. So the connection is perfectly OK.
I've configured our application as RemoteApp on Windows Server and have been testing this environment on my laptops. Some modules of our application are "rendering intensive" - they change some big portion of screen 10 times per second. And here the problem starts.
When I test RemoteApp only on my low resolution laptop all work great. RDP protocol utilizes about 1 Mb/s of bandwidth.
When I test application on my high resolution laptop RDP protocol utilizes about 5 Mb/s of bandwidth and application presents very low frame rate (1 frame per second maybe). I don't know why this happens. I have 20 Mb/s link and only 5 Mb/s is being used by RDP.
And magic happens...
When I start my RemoteApp on both laptops frame rate is perfect on both of them! Windows Server is uploading 14 Mb/s (1 Mb/s to low resolution laptop and 13 Mb/s to high resolution one). It streams 6 Mb/s more to high resolution laptop than in "single
laptop" scenario! When I close or even minimize (!) application on low resolution laptop the frame rate on second laptop degrades. When the application is resumed, frame rate goes up.
The same behaviour is observed when I run RemoteApp on high resolution laptop only but I connect through RDP to my Windows Server and turn on session shadowing. I observe my laptop's session through shadowing and frame rate magically goes up.
It's strange that streaming RDP sessions to two laptops produces better experience than doing it only for one client. I'm able to reproduce this behaviour every day, every time in two locations with different internet service providers.
I turned off all magic fair sharing (disk, CPU, network) on Windows Server but without any success. The same about turning off UDP connections or connecting with and without RD Gateway. I think that there is some magic algorithm for resources management that is causing it. I've been searching internet and testing different scenarios for week but without any luck.
Have anybody seen something like this? I would be very grateful for your help.
--
Wojtek Małota