Les solutions de streaming : Streaming local Steam et Nvidia GameStream en test

Publié le 26/07/2016 par
Imprimer

Profiter des jeux de son PC dans son salon, sans disposer d'un PC dédié ou d'avoir à tout déplacer : voilà la promesse que font les diverses solutions que nous avons testées aujourd'hui. Nous nous sommes en effet intéressés aux solutions de streaming local spécifiques aux jeux PC, afin de voir ce qu'elles proposent en pratique !

Le jeu, un problème spécifique

Le concept de la prise de contrôle à distance d'une machine n'est pas particulièrement nouveau. Passé les terminaux telnet et ssh, des solutions graphiques existent déjà depuis de longues années, comme par exemple le logiciel open source VNC qui permet de manipuler son bureau Windows à distance. Microsoft propose aussi sa propre solution, avec Remote Desktop Connection (RDC).

Particularité de ces solutions, elles exploitent le fait qu'en général, un bureau dispose de grandes zones fixes qui changent très peu d'un instant à l'autre. Au mieux, les modifications sont en général prévisibles (déplacer une fenêtre par exemple) et les solutions exploitent cela au niveau de la manière dont ils transmettent les informations, permettant de limiter massivement la bande passante nécessaire pour réaliser un affichage distant.

Le protocole de VNC est le plus ancien, et n'est pas lié à Windows. Il se contente simplement de transférer les zones de pixels qui ont été modifiées par rapport à l'écran précédent. Microsoft va un petit peu plus loin avec le protocole RDP utilisé par RDC, en envoyant des instructions plus génériques (par exemple, « créer une fenêtre de telle hauteur et telle largeur ») qui dessineront directement le résultat à destination, en plus de la possibilité de transférer des zones de pixels lorsque nécessaire, bien entendu.

Résultat, on peut prendre très facilement contrôle de machines non seulement dans son réseau local, mais même au travers d'Internet avec un confort élevé lorsqu'il s'agit de tâches peu graphiques.

Le H.264 à la rescousse

Etant donné les performances au travers d'Internet de VNC et RDC, on pourrait penser que sur un réseau local, transférer les images d'un jeu serait trivial ! En pratique, la déception est immédiate puisque l'on se retrouve en général… avec un écran noir, DirectX n'étant pas géré.

Selon les versions de Windows de chaque côté, dans certains cas, RDP peut gérer des jeux DirectX (via l'extension RemoteFX ) mais en pratique on a droit en général à un slide show dans le meilleur des cas, une latence effroyable, et un support des contrôleurs de jeu distant discutable.

Pas vraiment de miracle : ces protocoles n'ont pas été conçus pour cela. Le point commun des solutions auxquelles nous nous sommes intéressées aujourd'hui est qu'elles prennent le problème à l'envers : plutôt que de considérer les zones qui changent d'une image à l'autre, pourquoi ne pas directement encoder la sortie vidéo de l'écran, en H.264, et envoyer directement ce résultat sur le réseau ? C'est après tout une technique utilisée par certains logiciels de vidéo conférence, comme Skype.


Les dernières versions de Skype gèrent l'encodage H.264 matériel pour la vidéo conférence, et détournent cette fonctionnalité pour faire du partage d'écran

Conjugué à la multiplication des encodeurs H.264 intégrés dans le matériel (et plus particulièrement, des encodeurs basse latence), c'est - avec beaucoup de nuances comme nous allons le voir - le point de départ utilisé par les solutions locales de streaming de jeux.

Vos réactions

Top articles