A major focus of Windows 8 is the ability to support “bring your own device” scenarios. For the user, this experience begins with the Remote Desktop and Applications application. When they enter their email address they are automatically directed to their own IT department’s login page. After entering their domain credentials, they are presented with the desktops and applications offered by the IT department.
Applications published this way appear to be running on the local device, but in actuality are running on a server inside the corporate data center. If the user disconnects from the remote server without logging out the applications are left running. Later, the user can reconnect to the session with all applications still running in the exact same state.
Again, from the IT department’s perspective this is just a normal remote desktop session using existing RemoteFX and RemoteApp technologies. For the user, the applications look just like installed applications running locally. This includes full support for multi-touch and gestures (touches in Windows 7 were translated into mouse movements).
Like classic Remote Desktop, someone needs to decide which local resources (e.g. hard drives, SD cards, etc.) are exposed to the remote application. The difference here is that the IT department predefines these in the application manifest so that the user doesn’t need to. Power users may balk at this, but it should reduce IT supports calls due to misconfigurations on the user’s machine.
RemoteFX Adaptive Graphics
A new graphics architecture was developed for Windows 8. Called RemoteFX adaptive graphics, this supports new codices and adaptive rendering designed specifically for remote desktop scenarios. In theory the remote applications will continue to be responsive even when working with a lossy or low-bandwidth network.
A key aspect is the way RemoteFX divides up the screen into graphic, text, and video regions. Text regions are optimized for fidelity while video regions are tuned to reduce dropped frames. Graphic regions support progressive rendering, where a low resolution image is sent first and then upgraded to the high resolution image as bandwidth permits. The text regions are excluded from this so that they will be legible from the beginning.
In order to support a wide variety of networks, including 3g/4g, RemoteFX will automatically switch between TCP and UDP depending on the type of data and the packet loss rate.
RemoteFX Virtual GPU
For high end applications, RemoteFX offers RemoteFX vGPU. This virtual GPU supports up to 8 client-side monitors with a maximum resolution of 2560 x 1440. This allows the IT department to keep their expensive graphics, video, and 3D CAD software inside the company while still allowing their remote users to do their work.
RemoteFX Video Redirection API
For some media types such as WMV, RemoteFX will redirect the raw video stream to the client instead of rendering it on the server and then transporting the frames. This can reduce the bandwidth costs by up to 90%. Other applications can use the exposed APIs to register their own applications and plugins for video redirection.
If your application doesn’t opt in for this, Windows will use other techniques to reduce bandwidth such as changing the encoding at runtime based on network feedback.