Enjoy the games of their PC in their living room, without having a dedicated PC or having to move everything: that the promise are the various solutions we tested today. We are indeed interested in specific local streaming solutions for PC games, to see what they offer in practice!
The game, a specific problem
The concept of remote takeover of a machine is not particularly new. Past the telnet and ssh terminal, graphics solutions already exist for many years, such as the open source VNC software to manipulate the Windows desktop remotely. Microsoft also offers its own solution, Remote Desktop Connection (RDC).
Feature of these solutions, they exploit the fact that in general, an office has large fixed areas that change very little from one moment to the next. At best, the changes are generally predictable (eg move a window) and solutions that operate in the way they transmit the information to massively limit the bandwidth required to perform a remote display.
The VNC protocol is the oldest, and is not related to Windows. It just simply transfer the pixel areas that have changed compared to the previous screen. Microsoft goes a little further with the RDP protocol used by DRC, sending more generic instructions (eg, "create such a high window and such width") which will shape the result directly to, in addition to the possibility transferring pixel areas when necessary, of course.
Result, one can easily take control of machines not only in its local network, but even over the Internet with a high comfort when it comes to little graphics tasks.
H.264 to the rescue
Given the performances over the Internet VNC and DRC, one would think that on a local network, transfer images from a game would be trivial! In practice, the disappointment is immediate since it is found in general ... with a black screen, DirectX is not managed.
According to the versions of Windows on each side, in some cases, RDP can handle DirectX games (via the extension RemoteFX ) But in practice it was usually right in a slide show in the best case, a terrible latency, and support of questionable remote game controllers.
No real miracle: these protocols were not designed for this. The common solutions which we are concerned today is that they take the problem in reverse: instead of considering areas that change from one image to another, why not directly encode the video output of the screen, H.264, and directly send the result to the network? This is after all a technique used by some video conferencing software like Skype.
The latest versions of Skype manage H.264 encoding hardware for video conferencing, and divert this feature to screen sharing Coupled with the proliferation of H.264 encoders integrated in hardware (specifically, low latency encoders), that is - with many nuances as we shall see - the starting point used by local streaming solutions games.