Nvidia G-SYNC en test : les jeux fluides dès 40 fps ?

Tags : G-SYNC; GeForce; Nvidia;
Publié le 30/12/2013 par
Imprimer
G-SYNC ou la fréquence de rafraîchissement variable
Après avoir fait le constat d'une part que la fréquence de rafraîchissement fixe pose problème dans le cadre du jeu PC et d'autre part qu'elle n'est pas une nécessité pour les écrans LCD et assimilés, il est apparu évident à Nvidia qu'il y avait matière à creuser le sujet. Quelques phases de réflexion et de recherches plus tard, Nvidia est arrivé à la conclusion qu'il était possible de résoudre ce problème relativement simplement et sans investissement initial démesuré.

En d'autres termes, il n'y avait aucun risque à entreprendre la mise en place d'une fréquence de rafraîchissement variable et cela pourrait se faire rapidement. A la clé, un nouvel argument différentiateur potentiel pour les GeForce face aux Radeon et la possibilité de faire progresser la plateforme PC, ce qui est important pour Nvidia qui ne dispose d'aucune présence dans les dernières consoles. Le spécialiste du GPU a opté pour la marque G-SYNC, en opposition ou V-SYNC et en référence au fait que la synchronisation se fait par rapport au GPU.


Pour implémenter la fréquence de rafraîchissement variable, qui force l'écran à attendre le GPU, Nvidia a dû s'assurer de son support au niveau de ces 4 éléments qui entrent en jeu dans la chaîne d'affichage :

- le GPU
- les pilotes
- l'interface
- le contrôleur de l'écran

Il faut bien entendu que la carte graphique et le moteur d'affichage du GPU en soient capables. C'est bien le cas, au moins depuis les premiers GPU de la génération Kepler qui disposent de suffisamment de flexibilité à ce niveau. Encore fallait-il implémenter ce support dans les pilotes, ce qui a pu se faire sans trop de mal. Quant à l'interface, les protocoles DVI, HDMI et DisplayPort peuvent selon Nvidia être exploités sans soucis, même si cela se fait probablement en dehors des standards et d'une manière propriétaire.

Reste le point le plus délicat : le contrôleur de l'écran. Ce dernier, souvent appelé "scaler" en référence à l'une de ses fonctions, est responsable de la fin de chaîne de l'affichage. Malheureusement, les contrôleurs disponibles et intégrés actuellement dans les écrans sont incapables de supporter une fréquence de rafraîchissement variable.


Nvidia alors entrepris de développer son propre contrôleur mais pas de développer une puce dédiée, tout du moins dans un premier temps. Concevoir une puce coûte très cher en développement, prend beaucoup de temps et n'a de sens que pour des volumes importants, ce qui n'était pas le but visé pour un premier essai. L'option retenue par Nvidia a ainsi été de se baser sur un FPGA, un circuit logique programmable. Ces composants intègrent un certain nombre de cellules logiques élémentaires qui peuvent être configurées et interconnectées pour former certains circuits. De quoi émuler une puce classique en quelque sorte. Le désavantage est que ces composants coûtent relativement chers, raison pour laquelle ils sont en général réservé aux phases de tests et à des utilisations professionnelles très spécifiques.

Ce FPGA prend place sur un module qui ressemble au format MXM, que Nvidia va pouvoir proposer aux fabricants qui désireront intégrer la fréquence de rafraîchissement variable à la sauce G-SYNC. Visiblement pressé de pouvoir présenter cette évolution, Nvidia n'a pas voulu attendre l'arrivée de nouveaux écrans et a entrepris de modifier lui-même un modèle actuel : le VG248QE d'Asus.


Le fonctionnement de G-SYNC
Nvidia a configuré le FPGA pour supporter l'overdrive et 4 modes d'affichage :

- Standard
- 3D Vision 2
- G-SYNC
- Ultra Low Motion Blur (ULMB)

Ce dernier mode, dérivé de la technique Lightboost de 3D Vision, consiste à éteindre l'éclairage de la dalle durant la période de transition des pixels (ou tout du moins durant une partie de celle-ci), de manière à masquer ou atténuer le flou de mouvement. Le tout est en principe compensé par une luminosité supérieure.

Comment fonctionne G-SYNC en pratique ? Ce mode de rendu doit être activé dans les pilotes et se substitue aux modes de synchronisation verticale classiques. G-SYNC s'enclenche alors automatiquement dès qu'une application 3D est lancée en mode plein écran. Aucun paramétrage n'est nécessaire du côté de l'écran.


Une fréquence de rafraîchissement reste d'application en mode G-SYNC, elle représente alors le temps d'affichage minimal (par exemple 6.9ms en 144 Hz) d'une image et le débit de l'interface vidéo qui doit, lui, rester fixe. Sur ce signal vidéo, Nvidia prolonge la période VBLANK (que vous pouvez imaginer comme l'ajout de lignes vides sous l'image en cours d'affichage) jusqu'à ce que l'image suivante soit terminée et proposée par le GPU. G-SYNC n'ajoute aucune image de latence, ni au niveau de la carte graphique, ni au niveau du module. Par ailleurs il est important de comprendre que le temps d'affichage d'une image donnée correspond en fait au temps de rendu de l'image qui la suit.

Comme nous l'indiquions dans les quelques petits rappels sur la technologie LCD, il y a une limite de temps d'affichage au-delà de laquelle la dalle pourrait ne pas arriver à maintenir la couleur du pixel dans un état parfaitement figé. Pour éviter les défauts que cela pourrait entraîner, quand le temps d'affichage atteint 33.3ms (ce qui correspond à une fréquence instantanée de 30 Hz ou 30 fps), G-SYNC affiche une seconde fois la même image. Au final, G-SYNC accepte donc des temps d'affichages variables compris entre la limite de l'écran et 33.3ms.

Il n'y a pas de limite au niveau de cette variation qui peut être aussi bien graduée que très brusque, cas qui n'est cependant pas idéal en terme de régularité des mouvements à l'écran. Rappelons que rien ne permet à l'heure actuelle au moteur du jeu de connaître le temps d'affichage réel des images, G-SYNC ne change rien à cela. Il reste donc important que les pilotes et la carte graphique n'ignorent pas la régularité de l'affichage.

Notez qu'actuellement, c'est le pilote qui demande au GPU de renvoyer la même image une seconde fois au-delà de 33.3ms, mais Nvidia nous a indiqué qu'une fois G-SYNC passé en production de série, le module sera capable de répéter de lui-même l'image. De quoi participer à réduire le petit impact qu'a G-SYNC sur les performances.

Nvidia ne désire pas rentrer dans trop de détails concernant l'implémentation de ce nouveau mode d'affichage et se contente d'admettre qu'il y a bien un petit coût en termes de performances lié au fait que le GPU doit sonder régulièrement le contrôleur de l'écran pour connaître son statut. Nvidia précise que tout cela est encore en phase d'optimisation, ce qui nous laisse penser qu'une partie du surcoût de G-SYNC découle probablement d'un certain conservatisme pour éviter tout bug d'affichage, le temps de pouvoir resserrer les spécifications plus précisément.

G-SYNC est par nature incompatible avec le clignotement de l'éclairage que ce soit dans le cadre de 3D Vision ou du mode ULMB. C'est donc l'un ou l'autre mais il n'est pas possible de combiner G-SYNC avec l'un de ces modes. La raison est assez simple, avec un temps d'affichage variable des images mais un temps d'extinction fixe de l'éclairage, la luminosité effective varierait constamment. La solution serait d'adapter la luminosité à la durée d'affichage, sauf que cette durée n'est pas connue à l'avance, à moins bien entendu d'ajouter une image de latence. Il n'est pas impossible que Nvidia envisage à l'avenir cette possibilité mais d'une manière optionnelle.
Vos réactions

Top articles