Qu'est-ce que la latence ?

Ou plutôt les latences
Qu'est-ce que la latence ?
Crédits : dark_ghetto28 (CC BY 2.0)

Dans le monde actuel, tout va toujours plus vite. Désormais, il n'est plus question de grappiller des minutes ou des secondes, mais bien des millisecondes. Les besoins et avantages peuvent être divers, mais pour les comprendre il faut éviter de tout mélanger. Partons ensemble à la découverte de la notion de latence.

Il y a une dizaine d'années, lorsque l'on se plaignait de la latence, il y avait de grandes chances pour ce soit celle d'une connexion ADSL et ses dizaines de millisecondes, pouvant rendre fous les joueurs en ligne. Alors que la fibre optique se répand dans les foyers, ce n'est plus forcément le cas et on découvre que les problématiques de latence se trouvent un peu partout, du stockage aux écrans en passant par la souris ou la carte graphique. 

Les réseaux sont en effet devenus tellement rapides et réactifs qu'ils peuvent faire office d'alternative à des connexions internes. C'est ce qui permet d'utiliser le stockage de votre NAS comme s'il s'agissait de HDD présent au sein de votre PC via iSCSI, un ordinateur à distance via un réseau local ou le cloud, parfois pour jouer depuis une machine située à des centaines voire des milliers de kilomètres. On cherche alors les lenteurs ailleurs.

Shadow Double écran
Même en xDSL, un PC dans le cloud peut être à 15,6 ms de votre machine locale

Mais en pratique, qu'est-ce que la latence et comment s'exprime-t-elle au sein des différents composants ? Un sujet complexe, où les idées reçues et les méprises sont nombreuses, ce qui est favorisé par des constructeurs qui grossissent parfois le trait pour vendre leurs produits haut de gamme, pour « Gamers », pas toujours très utiles.

Dans ce dossier en plusieurs parties, nous évoquerons aussi comment mesurer la latence en différents points de votre système, une étape essentielle lorsque l'on cherche à la réduire.

Notre dossier sur la latence :

  • Qu'est-ce que la latence ?
  • Comment mesurer et réduire la latence ? (à venir)
  • Latence, input lag, fréquence de rafraichissement et jeu vidéo : ce qu'il faut savoir (à venir)

La latence, késako ?

Selon Wikipédia, « en informatique, la latence (ou délai de transit, ou retard) est le délai de transmission dans les communications informatiques (on trouve parfois l’anglicisme lag). Il désigne le temps nécessaire à un paquet de données pour passer de la source à la destination à travers un réseau ». 

Ainsi, lorsque vous envoyez une information à un serveur, elle désigne le temps nécessaire pour qu'elle lui parvienne. Elle s'exprime donc via une unité de temps, en général des millisecondes (ms). Elle est le plus souvent imperceptible, mais peut fortement varier. Car même dans les conditions idéales elle est limitée par une contrainte physique, la vitesse de la lumière dans le vide : 299 792 458 m/s. On se réfère alors à la bonne vieille règle :

temps = distance / vitesse

Dans une fibre optique, on est plus souvent dans les 200 000 km/s. Ainsi, il faudra au minimum 2,5 ms à un signal pour parcourir 500 km, 200 ms pour faire le tour de la Terre (40 000 km environ). Il faut aussi compter avec de la latence propre aux différents équipements de chaque côté à la réfraction du signal au sein de la fibre, etc. En pratique, elle est donc toujours supérieure aux calculs théoriques. 

La latence est ainsi plus élevée avec une connexion Internet par satellite. Chaque information est transmise de votre machine au routeur faisant office de « modem », puis à la parabole qui communique avec un satellite géostationnaire à plus de 36 000 km qui va lui-même la transmettre à une station de votre fournisseur d'accès directement reliée à internet. Résultat : plus de 140 000 km à parcourir, 700 ms en théorie.

Un temps réduit par les nouveaux réseaux tels que StarLink, composés d'une galaxie de satellites à basse altitude : 550 km environ, soit 1 ms théoriques et 20 ms visées en pratique. Avec une connexion par satellite classique on mesure en général des valeurs aux alentours de 700/800 ms minimum entre un PC et un serveur proche.

Ne pas confondre latence et débit

On distingue la latence du débit, même si les deux ont des rôles complémentaires. La première désigne la rapidité que mettra une information pour aller d'un point A à un point B du réseau et dépend de la longueur du tuyau. Le second, la quantité d'informations que l'on peut transmettre en un temps donné, selon la grosseur du tuyau.

Ainsi, lorsque vous accédez à un site Internet, de nombreuses requêtes sont effectuées. La latence réseau détermine le temps que le serveur met à vous répondre, le débit correspond au temps que mettra la réponse à s'afficher, ce qui aura son importance s'il s'agit d'un gros fichier, comme une image ou une vidéo par exemple.

CloudFlare Speed Test
Cette ligne VDSL reçoit des données à 72,5 Mb/s depuis les serveurs de CloudFlare mais une requête mettra environ 11 ms à arriver

Latence is everywhere

Comme évoqué plus haut, la latence est partout. Wikipédia ne s'y trompe d'ailleurs pas, ajoutant qu'on « parle aussi de latence pour le temps d'accès à une information sur une mémoire ou un système de stockage ». En réalité, on peut parler de latence dès que l'on parle de transmission ou de traitement d'une information.

Un PC, peut ainsi être vu d'une « chaîne » où chaque élément joue son rôle et peut l'allonger ou la réduire, on parle de latence système. Elle commence avec des périphériques comme une manette, un clavier ou une souris. Chaque action physique est transformée en signal électrique par un capteur puis envoyée à la machine avec ou sans fil. Différentes étapes qui demandent un temps plus ou moins long, pouvant atteindre quelques millisecondes. 

Il faut ensuite traiter ces signaux et modifier l'affichage en fonction du résultat. Cette fois, ce sont d'autres composants qui interviennent. Par exemple, lorsque l'on dit qu'une carte graphique affiche des images à 100 ips, cela signifie qu'elle va mettre 10 millisecondes à calculer chacune d'entre elles avant de les envoyer à l'écran. Celui-ci a ses propres contraintes, selon son électronique, les traitements appliqués, la dalle et ses LED.

Dans le domaine des jeux vidéo, le temps qui sépare une action du joueur de son affichage à l'écran est désigné comme l'input lag. Parfois, ce terme est aussi utilisé pour désigner la latence propre à un appareil en particulier comme une souris ou un écran. Mais quand vous mesurez et communiquez de telles valeurs, il est préférable d'en mentionner le contexte. Précisez donc à quels composants cela correspond exactement et votre méthodologie. 

NVIDIA Latence ReflexAMD Anti-Lag
Pour AMD et NVIDIA, la latence devient un enjeu. De nouvelles fonctionnalités sont ajoutées à leurs produits.

Les performances du processeur central (CPU), de la mémoire ou même du stockage peuvent venir jouer les trouble-fête. Pour le premier, la latence est en général exprimée pour le nombre de cycles nécessaires à traiter une instruction, à accéder à une information depuis l'un de ses caches internes ou depuis la mémoire. Cette dernière dépendra de la CAS Latency (CL), soit le « nombre de cycles d'horloge précédant l'acheminement des données après la réception d'une commande ». Chaque piste du PCB, composant, connexion a sa latence. 

Dans le domaine du stockage, on distingue également latence et débit. Ce dernier correspond à la vitesse à laquelle des données peuvent être transférées et le temps nécessaire à cette opération. Si vous envoyez un bloc de 512 ko à 200 Mo/s, cela signifie qu'il sera transmis et traité en 1,05 milliseconde.

Mais il y a également le temps d'accès, correspondant au délai entre l'envoi d'une commande et le moment où le transfert de données débute. Avec les SSD, elle se compte en microsecondes, contre des dizaines de millisecondes pour les HDD. Avec ces derniers, outre l'impact de l'électronique, on évoque deux autres valeurs :

  • Seek time : le temps nécessaire au bras de la tête de lecture/écriture pour accéder à la bonne piste du disque
  • Rotational latency : le temps nécessaire au disque pour placer le bon secteur sous la tête de lecture/écriture

C'est ce qui fait la grande différence de réactivité d'un système à base de SSD, qui, outre de gros débits et un nombre élevé d'opérations par seconde (IOPS), ne nécessite que peu de temps pour chacune des requêtes effectuées. Ce qui à l'échelle de l'utilisation d'un système d'exploitation procure un confort non négligeable.

Réduire la latence, ce n'est donc pas qu'une question de fournisseur d'accès Internet. Ce n'est pas non plus qu'une question de matériel, puisque le logiciel peut aussi jouer son rôle dans la fluidité de transmission de l'information, qu'il s'agisse des pilotes, de certains réglages ou de l'optimisation des applications et moteurs de jeu.

À partir de quand la latence est perceptible ?

Il est difficile de statuer sur la question de la perceptibilité de la latence, qui dépend principalement des usages et des besoins. Elle a peu d'impact lorsque vous regardez une vidéo sur un service de streaming par exemple, elle est essentielle pour des interactions en temps réel comme le contrôle d'un robot à distance.

De plus, chacun aura une sensibilité différente à ce sujet, réelle ou psychologique. Car certains auront l'impression de pouvoir saisir n'importe quel écart de 10 ns, quand bien même cela est irréaliste. Un phénomène similaire à ce que l'on constate lorsqu'il s'agit d'évoquer la qualité sonore ou d'image, au potentiel d'idiophilie est assez fort. En la matière, les tests en double aveugle doivent ainsi rester la règle pour tester l'efficacité d'un produit/service.

Dans un draft de 2016 de l'IETF nommé « Delay Limits for Real-Time Services » on trouve des indications de latences réseau tolérables pour différents types de services qui permettent de placer des ordres de grandeur :

  • Messagerie instantanée : 5 s
  • Bureau à distance : 200 ms
  • Communication vocale : 150 ms

  • Jeu à vue omniprésente (RTS) : 200 ms
  • Jeu à la troisième personne (MMORPG) : 120 ms
  • Jeu à la 1re personne (FPS) : 80 ms

Pour ce qui est de la latence système, il suffit de passer la fréquence de rafraichissement d'un écran de 30 Hz (33,33 ms) à 60 Hz (16,67 ms) puis 120 Hz (8,33 ms) pour constater automatiquement un gain de fluidité évident dans l'affichage, même sur le bureau du système d'exploitation. Au-delà, c'est plus difficilement perceptible.

Ainsi, réduire au maximum la latence de l'ensemble des composants permet de s'adapter au mieux à de tels débits d'images. Dans les jeux vidéo compétitifs, surtout à haut niveau, les exigences sont élevées en la matière puisque des écarts importants de latence peuvent introduire des différences de plusieurs actions/images.

Certains percevront ainsi la situation avec une légère avance sur leurs concurrents, ce qui constitue un avantage. Bien entendu, ce n'est pas une latence réduite qui vous rendra bon ou mauvais, mais entre joueurs de même niveau, de tels petits détails peuvent parfois faire la différence.

Il y a donc tout intérêt à y prêter attention et savoir mesurer différentes latences, même s'il ne faut pas surestimer l'impact de quelques millisecondes gagnées. Ce sera l'objet de notre prochain article.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !