Image Image Image Image Image Image Image Image Image Image
Scroll to top

Top

2 Commentaires

Dossier : Le Cloud Gaming - Détails techniques (Partie 2/4)

Dossier : Le Cloud Gaming – Détails techniques (Partie 2/4)
Gornwain

Voici la suite de notre dossier sur le Cloud Gaming ! Après une première partie sur la présentation et l’historique de celui-ci, nous parlerons aujourd’hui des détails techniques du Cloud Gaming.

Nous attaquons ici le cœur du sujet et de nombreuses réflexions se portent alors à mes yeux, de plus qu’une meilleure compréhension du système général.

Je souhaite en premier lieu vous présenter les deux techniques d’encodage/décodage qui sont utilisées dans le CG :

  • La première se base sur le « Delta », on fait tourner notre jeu en qualité faible, et le serveur le fait tourner en qualité faible ET élevée. Puis, il calcule un « delta » qui est la différence entre les deux rendus et l’envoie sous forme de vidéo compressée (car moins lourd à compresser que des images complètes).
    Votre machine n’a plus qu’à appliquer le « delta » du serveur sur vos propres images, et obtenir une image de très bonne qualité. L’avantage ultime est ici que même qu’en cas de panne du réseau ou de déconnexion, il reste tout de même possible de jouer en qualité faible (mais de jouer de tout de façon ;))

  • La deuxième se fonde sur la « Keyframe », une image de référence, calculée à intervalle de 3 ou 4 fps. C’est à dire que toutes les images suivantes ne seront en fait que les différences, entre cette image et l’image de référence. Plus la valeur est faible, meilleure sera la qualité de la vidéo. Le serveur fait donc tourner le jeu en haute qualité, et lors de la compression vidéo, le serveur retire les « Keyframe » (image de haute qualité) et ne garde que les informations de différences. Vous pouvez reconstituer dans ces conditions un flux H264 normal en utilisant les images qu’il a générées.

Je sais, c’est très technique, et pourtant, on voit très bien que c’est la 2ème solution qui a primée sur pratiquement tous les prestataires de CG.

1433944142-221-card

En tout état de cause, tout matériel pouvant décoder un flux vidéo en streaming, et de se connecter à Internet, est voué à devenir un appareil de CG. Le reste de nos machines, trop faibles ou n’ayant pas de possibilité de connexion au réseau, finiront à la poubelle. Et dans ce cas précis, même une TV avec un processeur moyennement puissant, sera quasi équivalent à un PC gamer. Et qui plus est, les sauvegardes seront aussi synchronisées sur tous les supports. Commencer une partie à la maison, la finir dans le métro, et la reprendre pendant sa pause de travail, cette idée sort peu à peu de son propre imaginaire pour se dessiner une vraie réalité.

On peut commencer à faire du CG de nos jours avec, aux alentours de 3Mb/s de bande passante (6 pour du Full HD). Ce n’est pas énorme en l’état actuel, même si cela peut être constamment amélioré. Et les besoins varient ne l’oublions pas en fonction de votre plateforme, du jeu sur lequel vous jouez, et des paramètres graphique qui lui sont associés.

En termes purement méthodique et technique, la connexion internet que vous disposez sera le juge implacable de votre expérience de jeu. En l’état actuel de notre couverture réseau national, seul les personnes habitant en ville (et encore…) sont les clients privilégiés de ce service.
Cette variabilité de rendu joue sur votre débit bien évidemment, mais aussi sur la qualité générale de votre connexion, autrement dit son atténuation (Db).

Et n’oublions pas l’infâme latence que nous exécrons tous ! Pour la plupart des spécialistes, la zone de confort moyenne se situe entre 100 et 150ms, ce qui pour moi est juste affreux, mais il faut essayez de comprendre, que la latence du CG est en réalité 3 types de latence regroupées en une.
Je m’explique, il y a :

  • La latence de votre réseau, avec l’émission et la réception d’informations par votre Box et le serveur associé (inputs)

  • La latence des serveurs, qui calculent vos inputs, l’état du jeu de plus que le rendu graphique à un moment

  • Enfin, la latence dû à l’encodage et au décodage du flux par votre appareil.

Tout cela se joue sur quelques fractions de secondes, non perceptibles par le grand public, mais qui pour certains joueurs ou types de jeu, deviennent clairement incapacitantes.

Je vous invite à vous reporter à la Loi de Claypool sur l’acceptation de la latence dans les jeux vidéos : en résumé, la tolérance est fonction du jeu auquel vous jouer. Cela n’a pas le même impact pour un RTS au tout par tour, que pour un FPS ou un jeu de course, ou les réflexes conditionnent vos prises de décisions, et vos conditions de victoires ou de défaites.

google-server-farm

Bien entendu, en plus de graphismes générés suivant la puissance de connexion, le son est également géré de la même manière. On peut arriver à une qualité MP3 pour un rendu standard, la seule différence est faite sur les très faibles connexions (cela se joue entre 16kbps et 64kbps).

Mais à quoi peut-on bien s’attendre en termes de rendu ? Est-il possible d’exploiter tous les avantages du DX (11 et futur 12) tels que le SSAO, la tessellation, etc … ?
Il se trouve que tout cela est encore une fois gérer par les serveurs ; Internet est donc votre nouveau maître (s’il ne l’était pas déjà :)). Même si le flux vidéo est compressé, et qu’il peut subsister quelques artefacts de compression, la norme H264 est très bien optimiser par le hardware GRID de NIVIDIA (qui équipe quasiment tous les serveurs du CG). Ceci est notamment visible sur une connexion reliée en Wifi, où la visibilité de la compression vidéo en 720p sur un titre se perçoit : moins d’objets affichés, quelques effets de clipping (résultat d’une capacité de calculs amoindrie) et moins d’effets d’ombres/lumières.

Pendant ce temps, chez MICROSOFT, on cherche à réduire la latence par un nouveau programme : Outatime (Delorean program) : un algorithme de prédiction des mouvements, couplé à une méthode de correction automatique, permettant de masquer près de 250ms de délai. Cet exploit est réalisable par « la prédiction des futures entrées du joueur », la réduction de « l’espace sous l’échantillonnage », le décalage dans le temps, la compensation des erreurs de prédictions, et à une nouvelle compression de la bande passante.
Beaucoup de termes pour finalement être capable de jouer à un titre Xbox (3 consoles confondues) sur navigateur internet grâce à Azure, la plateforme de cloud computing de Microsoft. A l’occasion d’une conférence privée avec les cadres de l’entreprise, il a été réalisé une démonstration de Halo 4, parfaitement fonctionnelle. Tout ceci étant également compatible avec le navigateur Chrome.

  • Christophe

    Hello,
    ça y est ! Je suis complètement perdu. Déjà que, le premier article a pris
    du temps à entrer dans mon petit cerveau. Comment tu fais pour comprendre tout
    cela ? Ne voudrais-tu pas me donner un cours ? LOL…

    • Gornwain

      Non, mais c’est pas vraiment pointu en fait.
      En résumé, c’est une explication du truc, en détaillant un peu chaque passage important. Mais j’ai dû me documenter un peu, il est vrai.
      P.S : je veux bien proposer une session Skype (ou concurrent) pour les gens qui pataugent un peu … 😉