Circuits #10 - Comprendre le V-Sync

Durée: 6m26s

Date de sortie: 14/05/2025

La synchronisation verticale, oui, mais pourquoi ? Et comment ?

Salut et bienvenue dans ce nouvel épisode du podcast de Code Garage, je m'appelle Nicolas
Bondin Bernard et aujourd'hui on se retrouve pour un nouvel épisode de notre série circuit
concernant la V-Sync.
Alors la V-Sync, vous l'avez sûrement croisé comme étant une option quand vous jouez à
des jeux vidéo.
Si vous avez déjà joué à des jeux, souvent plus des jeux en 3D, un peu gourmand en performance
etc.
Vous avez sûrement vu passer cette option dans les menus du jeu, activé ou pas la
V-Sync et je vais vous expliquer ce que c'est et à quoi ça sert.
En fait la V-Sync ça permet de contrer un peu un problème qui s'appelle le T-Ring.
Alors le phénomène du T-Ring en fait c'est quand vous avez par exemple un écran d'ordinateur
avec un taux de rafraîchissement fixe, souvent ça va être 60 Hz et tout simplement ça
va dire qu'il va mettre à jour son affichage 60 fois par seconde.
Sauf que de l'autre côté votre carte graphique, elle, elle peut rendre des images à des
rythmes complètement différents.
Ça peut être 75, ça peut être 120 images par seconde.
Ça va jouer en fonction de la complexité de la scène du jeu, de la puissance de la
machine et de ce qui tourne ailleurs sur la machine.
Si vous avez d'autres choses qui utilisent votre carte graphique en plus que le jeu et
qui peuvent être plutôt gourmand, ça va pouvoir varier pas mal.
Et quand ces deux rythmes, ces deux fréquences, elles ne sont pas synchronisées, l'écran
il va parfois afficher des morceaux de deux images différentes à la fois.
C'est ça qu'on appelle le T-Ring, c'est une espèce donc T-Ring, ça vient de
tirer en anglais pour une déchirure et donc c'est ça en fait, c'est une déchirure
visuelle.
Alors généralement ce que ça va donner c'est une espèce de ligne horizontale où l'image,
on dirait qu'elle glisse, qu'elle se coupe.
Typiquement ça va arriver dans les jeux quand vous allez tourner très vite sur vous
même ou regarder ailleurs, tout simplement pendant le déplacement de la caméra, vous
allez avoir effectivement des espèces de petits glitchs au niveau de l'image et c'est
ça qu'on appelle le T-Ring.
Et donc pour corriger ce problème, on va pouvoir utiliser la technologie de la V-Sync.
Alors V-Sync c'est tout simplement pour synchronisation verticale, vertical synchronisation.
Et donc cette technique est consiste tout simplement à synchroniser le rendu des images
avec le taux de rafrichissement de l'écran.
Donc quand le V-Sync est activé, la carte graphique, le GPU va tout simplement attendre
que l'écran est fini de charger une image avant d'en envoyer une nouvelle.
Ça élimine du coup complètement le T-Ring puisqu'on affiche, on est sûr d'afficher
image par image.
Mais ça évidemment ça a un coût parce que si le GPU il n'est pas forcément toujours
capable de maintenir exactement une fréquence de 60 images par seconde, par exemple s'il
chute à 59, eh ben il faudra attendre le rafrichissement suivant de la prochaine image.
Et donc en fait ça va faire mécaniquement que le jeu va descendre pour un petit moment
à 30 fps.
Et cette chute-là elle peut entraîner des saccades et ce qui peut être encore plus
gênant que le T-Ring lui-même parce que du coup au lieu d'avoir simplement une ligne
ou un petit artefact, eh ben on va se retrouver avec un jeu qui est beaucoup moins fluide qu'avant.
Alors du coup le v-sync on va dire un peu classique qui existe depuis des dizaines
d'années, le v-sync traditionnel, eh ben il a deux inconvénients principaux.
D'abord il ajoute de la latence puisque le GPU même si c'est un GPU de l'espace que
vous avez, il va être obligé d'attendre avant d'envoyer l'image suivante et comme
l'on l'a dit avant, ça peut provoquer des saccades si le frame rate tombe en dessous
du taux de rafrichissement de l'écran.
Du coup l'écran au lieu d'afficher 60 images par seconde, en fait il va parfois
afficher deux fois la même image pour tomber à cette fréquence de 30 images par seconde.
Alors c'est un petit peu comme beaucoup de choses en informatique.
Du coup on a un problème, on a une solution mais la solution peut jamais être parfaite
et donc ça va être à vous de décider si vous préférez le problème de base ou le
problème généré par la solution.
Mais il y a quand même deux alternatives qui sont un peu plus récentes que le v-sync.
On a d'abord le g-sync qui vient de chez Nvidia et le free-sync qui vient de chez AMD.
En fait ces deux systèmes, ils permettent à l'écran de s'adapter dynamiquement au frame
rate du GPU au lieu que ce soit l'inverse.
Alors ça élimine le T-Ring et ça ne rajoute pas trop de latence.
Donc voilà, tout simplement ça offre plus de fluidité dans un jeu, surtout quand on
a les frame rates un peu variable.
Mais ça a un gros inconvénient, c'est que d'abord ça demande pas un modèle spécifique
de la carte graphique mais on va dire qu'il n'y a qu'un ensemble de modèles de cartes
graphiques chez Nvidia et chez AMD qui sont compatibles avec ça.
Et surtout il faut un écran compatible lui également avec le g-sync ou le free-sync
puisque c'est la carte graphique qui va envoyer des informations supplémentaires
à l'écran pour qu'il s'adapte.
Donc il faut que ce soit compatible.
Encore une fois, pas une solution parfaite puisque tout le monde n'aura pas accès mais
une solution quand même.
J'espère que cet épisode vous aura plu, que vous aurez appris quelque chose.
Pourquoi est-ce que je vous ai fait ce petit épisode un petit peu en interluide avec les
épisodes un peu plus gros, un peu plus velus dans la série des circuits ?
D'abord parce que les autres épisodes mettent beaucoup plus de temps à préparer.
Aussi parce que j'ai découvert récemment ce qui était la v-sync, notamment ce que
je me suis remis un peu à jouer au jeu vidéo et donc je me suis intéressé à ce domaine-là
en particulier.
Mais surtout, comme on est rentré un petit peu dans la zone des GPU, des CPU avec les
épisodes précédents, je me suis dit que c'était vraiment le moment parfait pour
vous en parler plutôt que le faire dans 10 épisodes.
J'espère que ça vous aura plu.
Pensez à laisser 5 étoiles sur Apple Podcast, Spotify, Deezer, partout.
Hésitez pas à me dire en commentaire les sujets des prochains épisodes que vous voulez,
même si j'en ai évidemment en préparation.
Si jamais vous avez des très bonnes idées, je les ajouterai à ma roadmap.
Et moi, je vous donne rendez-vous la semaine prochaine pour un prochain épisode du podcast
et évidemment sur cotierregarage.com pour retrouver tous nos articles de blog, tous
nos épisodes de podcast et surtout tous nos cours complets.
Je vous donne rendez-vous la semaine prochaine.
Prenez soin de vous.
Salut !

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

Code-Garage

Découvrons ensemble des sujets passionnants autour du métier de dev et de la programmation en général !
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere