Présentation de NVIDIA Reflex : des solutions d’optimisation et d’analyse de latence pour les jeux compétitifs

Par Seth Schneider on 1 septembre 2020 | Études de cas FramesWinGames GPU GeForce RTX Guides NVIDIA Reflex

Les jeux multijoueurs, ou sports électroniques (esports), sont aujourd’hui plébiscités par 73 % des joueurs utilisant des cartes graphiques GeForce. Esport le plus regardé au monde, League of Legends a attiré plus de 100 millions de fans à l’occasion de l’édition 2019 de son championnat, soit plus que le Super Bowl de la NFL cette même année. Alors que l’esport concurrence désormais les sports traditionnels aussi bien en termes de public que de pratiquants, un PC et un matériel graphique optimisés sont plus que jamais indispensables pour les joueurs. Il y a quelques années, NVIDIA a donc investi dans un laboratoire dédié à l’esport, où des chercheurs de l’équipe NVIDIA Research se consacrent à l’étude des performances du matériel informatique et des joueurs dans ce domaine. Aujourd’hui, nous sommes heureux de vous faire part des premières grandes innovations issues de cette recherche.

Après nos nouveaux GPU GeForce RTX série 30, nous vous dévoilons NVIDIA Reflex, une suite révolutionnaire de solutions pour GPU, écrans G-SYNC et logiciels, qui permet d’analyser et de réduire la latence dans les jeux compétitifs (c’est-à-dire la latence du clic à l’affichage). La réduction de la latence système est primordiale pour les joueurs compétitifs, puisqu’elle permet une réponse plus rapide du PC et de l’écran aux actions de la souris et du clavier de l’utilisateur. Ce dernier pourra alors verrouiller plus rapidement ses cibles et tirer avec une précision accrue.

 

La plateforme NVIDIA Reflex repose principalement sur deux nouvelles technologies :


Kit de développement de NVIDIA Reflex : il s’agit d’un nouvel ensemble d’API permettant aux développeurs de jeux d’analyser et de réduire la latence de rendu. S’intégrant directement au jeu, le mode à faible latence de NVIDIA Reflex permet un accomplissement des tâches juste-à-temps par le moteur de jeu, éliminant ainsi la file d’attente de rendu du GPU et réduisant la contre-pression du CPU. Cette innovation permet des baisses de latence bien supérieures aux technologies reposant uniquement sur le pilote, comme le mode à ultra-faible latence de NVIDIA.

Analyseur de latence de NVIDIA Reflex : intégré aux nouveaux écrans de jeu G-SYNC (360 Hz) d’Acer, ASUS, MSI et Dell, et compatible avec les principaux périphériques d’esport d’ASUS, Logitech, SteelSeries et Razer, cet outil révolutionnaire permet d’analyser la latence système.

Il détecte les clics générés à partir de votre souris, puis calcule la durée nécessaire pour que les pixels correspondants (un coup de feu, par exemple) s’affichent à l’écran. Nécessitant plus de 6 000 € d’équipement (caméras haute vitesse et matériel spécialisé), ce type d’analyse était quasiment impossible pour les joueurs jusqu’à présent.

 

Alors qu’il fallait auparavant deviner la réactivité de son système en fonction d’indicateurs de fréquence, tels que le nombre d’images par seconde (FPS), l’analyseur de latence de NVIDIA Reflex offre une compréhension bien plus complète et précise des performances de la souris, du PC et de l’écran. Grâce à l’analyseur de latence de NVIDIA Reflex, les joueurs peuvent démarrer une partie avec une confiance totale quant au fonctionnement de leur système.

 

Dans cet article, vous allez découvrir la latence système et la technologie NVIDIA Reflex dans les moindres détails. C’est parti !

Qu’est-ce que la latence ?

La latence désigne le délai entre une action souhaitée et le résultat attendu. Lorsque vous utilisez une carte de crédit pour payer un article en ligne ou dans un magasin, la latence correspond au délai nécessaire à la confirmation de votre achat.

Les joueurs rencontrent principalement deux types de latence : la latence système et la latence réseau.

La latence réseau, plus communément appelée « ping », désigne le délai aller-retour entre le client de jeu et le serveur multijoueur.

 

La latence réseau peut affecter le gameplay de plusieurs façons, en fonction de sa gestion par le code réseau du jeu. Vous trouverez ci-dessous quelques exemples :

  • Confirmations de tir réussi différées – La confirmation que votre tir a touché une cible n’est reçue qu’après un certain délai. Cela peut entraîner un gaspillage de vos munitions ou un retard dans la transition vers votre prochaine cible.
  • Interactions tardives – Les interactions avec des objets, comme l’ouverture de portes ou de coffres, sont retardées.
  • Signalement tardif de la position des adversaires – Ce retard est à l’origine de ce que l’on appelle le « peeker’s advantage », que nous aborderons plus tard. 
 

Notez que la latence réseau ne constitue pas un problème d’instabilité du réseau, comme la perte ou la mise hors d’usage de paquets. L’instabilité du réseau peut susciter des problèmes tels que le rubberbanding ou la désynchronisation. Le rubberbanding est une mécanique qui vous renvoie à la position dans le jeu que vous occupiez quelques secondes auparavant. À l’instar d’un élastique, vous revenez à la dernière position connue du serveur. La désynchronisation entraîne une perte de paquets, ce qui débouche sur des saccades du réseau. Elle se manifeste par l’arrêt des adversaires, puis leur téléportation vers leur véritable position. Si ces deux problèmes courants ne sont pas liés à la latence réseau, ils se produisent généralement lorsque le paquet doit encore être transféré, ce qui génère une latence plus élevée.


La latence système désigne le délai entre les actions de votre souris ou de votre clavier et le changement des pixels correspondants à l’écran, comme un coup de feu ou le mouvement du personnage. Ce phénomène est également appelé « latence du clic à l’affichage » ou « latence de bout en bout ». Cette latence n’est pas liée au serveur du jeu, mais uniquement à vos périphériques, à votre PC et à votre écran.

 

Ce retard influe sur le gameplay de différentes façons. Voici quelques exemples :

  • Retard de réactivité – Vous déplacez votre souris mais votre viseur est en retard à l’écran. 
  • Tirs tardifs – Vous tirez mais les impacts de balle, les dispositifs lumineux des munitions traçantes et le recul de l’arme accusent un retard par rapport au véritable clic de la souris.
  • Signalement tardif de la position des adversaires – Ce phénomène est également appelé « peeker’s advantage ». (oui, le peeker’s advantage dépend aussi de la latence système !)
 

À un niveau élevé, la latence système se décompose principalement en trois phases : le périphérique (tel qu’une souris), le PC et l’écran. Malheureusement, cette latence est difficile à établir en raison de l’utilisation du terme « latence d’entrée » ou « retard d’entrée » pour décrire différents composants de la latence système.

Par exemple, vous pouvez trouver le terme « latence d’entrée » sur la boîte d’une souris pour évoquer le temps de traitement des clics. Vous pouvez également le retrouver sur la boîte d’un écran pour parler du délai de traitement de l’image. Enfin, vous pouvez trouver cette expression dans le cas de jeux et de logiciels pour aborder le délai de traitement de vos actions. Si toutes ces caractéristiques sont appelées « latence d’entrée », comment s’y retrouver ?

Latence système de bout en bout

Prenons un moment pour étudier en détail et définir des termes plus précis que « Input lag » :

  • Latence du périphérique : délai dont votre périphérique d’entrée a besoin pour traiter vos actions mécaniques et envoyer ces événements au PC
  • Latence du jeu : délai dont le CPU a besoin pour traiter les données d’entrée ou les modifications de l’environnement de jeu et envoyer une nouvelle image au GPU pour sa restitution
  • Latence de rendu : durée entre le moment où l’image est placée dans la file d’attente de rendu et le moment où le GPU la restitue totalement
  • Latence du PC : délai nécessaire à l’image pour parcourir le PC ; cela inclut à la fois la latence du jeu et la latence de rendu
  • Latence de l’écran : délai dont l’écran a besoin pour afficher une nouvelle image après que le GPU a terminé de restituer l’image
  • Latence système : durée de latence totale, du début de la latence du périphérique à la fin de la latence de l’écran

Si ces définitions avancées éludent certains détails, elles constituent une base solide pour étudier correctement la latence. De plus amples informations sur ces phases sont disponibles dans la section « Prochain niveau : Latence système – Mode expert » de cet article.

Différence entre fréquence d’images et latence système

De manière générale, plus le nombre d’images par seconde est élevé, plus la latence système est faible. Toutefois, cette relation n’est pas aussi simple. Pour mieux comprendre, commençons par réfléchir à la façon dont nous pouvons analyser nos interactions avec notre PC. La première méthode consiste à calculer le nombre d’images que notre écran peut afficher en une seconde. Cette fréquence d’images est exprimée en FPS (Frames Per Second). La seconde méthode consiste à calculer le temps nécessaire à la restitution de nos actions dans l’une de ces images. Cette durée est la latence système.

Si notre PC offre une fréquence d’images de 1 000 FPS mais nécessite une seconde pour transmettre nos actions à l’écran, le résultat sera médiocre. À l’inverse, si nos actions sont transmises instantanément mais que notre PC propose une fréquence de 5 FPS, l’expérience ne sera pas satisfaisante non plus.

Quel indicateur faut-il alors privilégier ? Il y a plus d’un an, nous avons décidé de répondre à cette question et nos conclusions sont plutôt intéressantes. L’intégralité de notre recherche a été publiée sur SIGGRAPH Asia. En résumé, nous avons constaté que la latence système affectait la capacité des joueurs à accomplir des tâches de tir dans un outil d’amélioration de la qualité de tir (aim trainer) bien plus que la fréquence d’images. Pourquoi ?

Importance de la latence système

Appuyons-nous sur des exemples concrets pour aborder cette question :

 

Commençons par l’enregistrement des tirs réussis. L’enregistrement des tirs réussis (hit registration) est un terme utilisé par les joueurs pour décrire la façon dont le jeu enregistre les tirs ayant touché des adversaires. Nous pointons souvent du doigt cet aspect lorsque nous sommes SÛRS d’avoir réussi un tir qui n’a pas été comptabilisé. Nous avons tous connu ce problème. Mais est-ce vraiment l’enregistrement des tirs réussis qui en est la cause ?

article-fpo

Dans l’exemple ci-dessus, le bouton de la souris a été enfoncé alors que le viseur était pointé sur la cible. Cependant, le tir a manqué la cible. En raison de la latence système et du mouvement de l’adversaire, le moteur de jeu a déterminé que la position du viseur était en réalité derrière la cible. En effet, ce qui apparaît sur l’écran ne correspond pas à l’état actuel du moteur de jeu. Le PC a simplement besoin de temps pour traiter les informations, rendre l’image et l’afficher à l’écran. Lorsque tout se joue à la milliseconde, un retard de 30 à 40 ms peut faire perdre une partie.

Passons maintenant au « peeker’s advantage ». À des niveaux de jeu élevés, vous défendez généralement lorsque vous bénéficiez d’un avantage de la perspective (lorsque vous êtes plus éloignés d’un coin que votre adversaire) afin de compenser une caractéristique des jeux en ligne appelée « peeker’s advantage ».

Le peeker’s advantage désigne la fraction de seconde d’avance dont bénéficie l’attaquant sur le défenseur lorsqu’il quitte sa zone de couverture. L’attaquant dispose donc d’un avantage fondamental, en raison du temps nécessaire pour que les informations relatives à sa position parviennent au défenseur via le réseau. Pour compenser cette caractéristique, le joueur peut effectuer une action appelée « jiggle peek », qui consiste à quitter sa zone de couverture et à y revenir rapidement. Il peut ainsi voir un adversaire avant que celui-ci ne le voit et bénéficier d’un temps d’avance. Ce phénomène est souvent présenté comme un effet de la latence réseau ou du code réseau du jeu. Cependant, la latence système peut s’avérer décisive dans le cadre du peeker’s advantage.

article-fpo

Comme vous pouvez le constater ci-dessus, les deux joueurs sont à égale distance du coin, avec des pings identiques. Seules leurs latences système sont différentes.

De la même manière que pour l’enregistrement des tirs réussis, une latence système élevée retarde l’affichage de l’environnement de jeu, ce qui offre un temps d’avance à votre adversaire. Si la latence de votre système est bien plus faible que celle de votre adversaire, vous pouvez minimiser totalement le peeker’s advantage. Si les effets du réseau de jeu restent présents, de manière générale, une latence système réduite permet à la fois d’atténuer le peeker’s advantage pour le défenseur et de prendre l’avantage pour l’attaquant.

Pour finir, nous allons aborder la précision de tir, notamment les tirs réflexes (flickshots). Les réflexes constituent certainement la principale compétence à perfectionner dans des jeux compétitifs tels que CS:GO ou Valorant. En une fraction de seconde, vous devez verrouiller votre cible, déplacer votre viseur vers celle-ci et cliquer, tout cela avec une précision chirurgicale. Cependant, n’avez-vous jamais eu l’impression que, quoi que vous fassiez, vos réflexes n’étaient pas cohérents ?

Lower system latency increases aiming accuracy and precision

Le tir implique une série de sous-mouvements, de corrections inconscientes reposant sur la position actuelle du viseur par rapport à l’emplacement de la cible. Avec des latences élevées, ce temps de réaction augmente, ce qui réduit la précision. Une latence élevée implique également une variation plus importante de celle-ci. Autrement dit, votre corps aura plus de mal à anticiper un événement et à agir en conséquence. En bref, une latence élevée diminue la précision.

Ce constat nous ramène aux résultats de notre étude précédemment mentionnée. Le tableau ci-dessous révèle toute l’influence d’une latence faible lors de l’analyse de la précision des tirs réflexes.

Dans les jeux compétitifs, des fréquences d’images et d’actualisation (Hz) élevées permettent de réduire votre latence, générant ainsi davantage de possibilités pour restituer vos actions à l’écran. Même de faibles baisses de latence influent sur les réflexes. Dans notre dernier blog de recherche dédié à l’esport, l’équipe de NVIDIA Research a étudié l’impact de différents niveaux de latence système sur les performances des joueurs.

Elle a constaté que même de faibles variations de la latence système (12 ms contre 20 ms) peuvent déboucher sur une différence significative quant à la qualité de tir. En effet, la différence moyenne dans l’exécution d’un tir (temps nécessaire pour verrouiller une cible et tirer) entre deux PC affichant des latences respectives de 12 ms et 20 ms était de 182 ms, soit environ 22 fois la différence entre les deux délais de latence. Pour mettre cette observation en perspective, pour une difficulté de tir identique et sur un serveur Valorant ou CS:GO de 128 ticks, vos tirs atteindront la cible en moyenne 23 ticks plus tôt avec une latence de 12 ms. Pourtant, la plupart des joueurs utilisent des systèmes affichant une latence de 50 à 100 ms !

Cela peut-il se traduire par une meilleure efficacité en jeu ? La qualité de tir dans un jeu compétitif suppose bien plus qu’une simple compétence mécanique. Un sens aigu de la chasse ainsi qu’une stratégie éprouvée sont également fondamentaux. Cependant, si nous consultons nos données sur PUBG et Fortnite, nous pouvons observer une relation similaire entre une fréquence d’images élevée (latence réduite) et le ratio K/D (nombre d’ennemis tués par rapport au nombre de morts).

En aucun cas une corrélation n’induit une causalité. Néanmoins, en appliquant la logique ci-dessus à cette relation, nous pouvons solidement affirmer quֹ’une fréquence d’images élevée et une latence système réduite se traduisent par une augmentation des tirs réussis, améliorant ainsi le ratio K/D.

Réduction de la latence système grâce à NVIDIA Reflex

Avec le lancement de la plateforme NVIDIA Reflex, nous avons voulu optimiser chaque aspect du pipeline de rendu en matière de latence, grâce à des kits de développement et à des optimisations de pilote. Si certaines de ces technologies peuvent susciter d’importantes baisses de latence, d’autres présentent des avantages moins évidents, selon la situation. Quoi qu’il en soit, NVIDIA Reflex illustre parfaitement notre engagement à fournir aux joueurs et développeurs des outils d’optimisation de la latence système.

Kit de développement de NVIDIA Reflex

Le kit de développement de NVIDIA Reflex permet aux développeurs de jeux de mettre en œuvre un mode à faible latence afin d’ajuster le moteur de jeu pour un rendu juste-à-temps, éliminant ainsi la file d’attente de rendu du GPU et réduisant la contre-pression du CPU lorsque les performances sont limitées par le GPU (GPU bound).

Dans l’image ci-dessus, nous pouvons observer que la file d’attente contient des images. Le CPU traite les images plus rapidement que le GPU ne les restitue, ce qui entraîne une augmentation de la latence de rendu. Le kit de développement de NVIDIA Reflex présente certaines similitudes avec le mode à ultra-faible latence du pilote. Toutefois, ce kit s’intègre directement au jeu et permet de contrôler la contre-pression qui s’exerce sur le CPU depuis la file d’attente de rendu et d’autres phases ultérieures du pipeline. Avec le mode à ultra-faible latence, le pilote dispose d’un contrôle bien plus restreint. Si le mode à ultra-faible latence permet généralement de réduire la file d’attente de rendu, il ne peut pas éliminer la contre-pression au niveau du jeu et du CPU. Par conséquent, le kit de développement de NVIDIA Reflex offre de bien meilleurs avantages en matière de latence que le mode à ultra-faible latence du pilote.

Lorsque les développeurs intègrent le kit de développement de NVIDIA Reflex, ils peuvent retarder efficacement l’échantillonnage des données d’entrée et la simulation de jeu en ajustant de façon dynamique les délais d’envoi des tâches de rendu vers le GPU, afin que celles-ci soit traitées selon la méthode juste-à-temps.

Par ailleurs, le kit de développement inclut la fonctionnalité Low Latency Boost. Prévalant sur les fonctionnalités d’économie d’énergie du GPU, celle-ci permet aux horloges du GPU de maintenir une fréquence élevée en cas de sollicitation intensive du CPU. Même si les performances de jeu sont limitées par le CPU, les délais de rendu étendus génèrent de la latence. Si le maintien d’une fréquence d’horloge élevée peut sensiblement augmenter la consommation énergétique, cela permet de réduire légèrement la latence lorsque le GPU est largement sous-utilisé et que le CPU soumet le travail de rendu final dans un gros volume. Notez que si vous ne souhaitez pas augmenter votre consommation énergétique, vous pouvez utiliser le mode à faible latence de NVIDIA Reflex sans activer la fonctionnalité Low Latency Boost.

article-fpo

Les tireurs redoutables sont dynamiques, alternant sans cesse entre les états GPU bound et CPU bound. En cas d’explosion avec de nombreuses particules et si le jeu devient limité par le GPU, le kit de développement de NVIDIA Reflex permettra de maintenir une faible latence en limitant la file d’attente du GPU. Si le rendu est simple et que le jeu est limité par le CPU (CPU bound), le kit de développement de NVIDIA Reflex maintiendra une faible latence en conservant des fréquences d’horloge de GPU élevées. Quel que soit l’état du pipeline de rendu, le kit de développement de NVIDIA Reflex réduit intelligemment la latence de rendu, selon la configuration donnée. Grâce au kit de développement de NVIDIA Reflex, les joueurs peuvent maintenir une latence de rendu faible sans devoir modifier tous leurs paramètres.

Séduits par ce kit de développement, les développeurs des jeux Apex Legends, Fortnite et Valorant prévoient de prendre en charge la plateforme NVIDIA Reflex avec notre prochain pilote Game Ready, lequel sera lancé le 17 septembre 2020. Les développeurs de Call of Duty: Black Ops Cold War, Cuisine Royale, Destiny 2, Enlisted et Mordhau ont également annoncé la prise en charge de NVIDIA Reflex.

Le kit de développement de NVIDIA Reflex prend en charge tous les GPU actuels jusqu’aux produits GeForce GTX série 900, sortis en 2014. Cependant, la fonctionnalité Low Latency Boost des GPU GeForce RTX série 30 permet de maintenir une fréquence d’horloge légèrement plus élevée afin de réduire davantage la latence.

Si vous souhaitez en savoir davantage sur le fonctionnement du kit de développement, nous aborderons le pipeline de rendu, les états CPU/GPU bound ainsi que la réduction de la latence dans la section « Prochain niveau : Latence système – Mode expert ».

Amélioration des options du panneau de configuration pour la latence

Mode à ultra-faible latence

Si votre jeu ne prend pas en charge le kit de développement de NVIDIA Reflex, vous pouvez toujours bénéficier d’améliorations partielles en matière de latence en activant le mode à ultra-faible latence dans le panneau de configuration de NVIDIA. Il vous suffit d’ouvrir le panneau de configuration et d’accéder à la section Gestion des paramètres 3D, puis Mode à faible latence, et d’activer l’option Ultra. Comme mentionné plus haut dans cet article, cette fonctionnalité permet de réduire la latence de rendu, mais n’offre pas une gestion totale du pipeline.

Si un jeu prend en charge le mode à faible latence de NVIDIA Reflex, nous vous recommandons d’utiliser ce mode à la place du mode à ultra-faible latence du pilote. Cependant, si vous activez ces deux modes simultanément, le mode à faible latence de NVIDIA Reflex sera automatiquement défini comme prioritaire.

Reflex SDK reduces system latency beyond the Ultra Low Latency mode in 3D Settings

Privilégier des performances maximales

Le pilote graphique de NVIDIA a longtemps été fourni avec l’option Mode de gestion de l’alimentation. Celle-ci permet aux joueurs de choisir le mode de fonctionnement du GPU lorsque les performances sont limitées par le CPU (CPU bound). Lorsque le GPU est saturé, il offrira toujours des performances maximales. Autrement, il est possible d’économiser de l’énergie en réduisant la fréquence d’horloge du GPU, tout en maintenant la fréquence d’images.

À l’instar de la fonctionnalité Low Latency Boost du kit de développement de NVIDIA Reflex, l’option Privilégier des performances maximales prévaut sur les fonctionnalités d’économie d’énergie du GPU et permet un fonctionnement du GPU à des fréquences d’horloge plus élevées. Ces fréquences peuvent réduire la latence des instances CPU bound, au détriment d’une consommation plus élevée. Ce mode a été conçu pour les joueurs souhaitant éliminer la moindre microseconde de latence du pipeline, quelle que soit leur consommation.

Grâce aux GPU GeForce RTX série 30, nous sommes capables de proposer une fréquence d’horloge plus élevée que jamais, ce qui permet au GPU d’offrir la plus faible latence possible pour les instances CPU bound. Les utilisateurs disposant de GPU plus anciens peuvent toujours activer l’option Privilégier des performances maximales et maintenir leurs horloges à des fréquences de base.

Optimisation automatique avec GeForce Experience

Dans le cadre de la nouvelle mise à jour de GeForce Experience, disponible le 17 septembre, une nouvelle fonctionnalité bêta dans le panneau des performances de l’interface en jeu permet aux joueurs d’optimiser leur GPU afin de réduire la latence de rendu en un seul clic.

Cet optimisateur automatique avancé analyse votre GPU afin de détecter la fréquence maximale pour chaque point de tension de la courbe. Une fois que les paramètres optimaux pour votre GPU sont identifiés et appliqués, votre optimisation est constamment réanalysée et maintenue.

Rendez-vous sur GeForce.com pour en savoir plus sur cette nouvelle fonctionnalité incroyable et découvrir comment l’utiliser.

Analyse de la latence système avec NVIDIA Reflex

La latence système était jusque-là difficile à analyser. C’est pour cette raison, entre autres, qu’elle n’avait jamais été abordée de façon aussi étendue. Afin d’analyser la latence, votre appareil de mesure doit être capable d’identifier précisément les points de début et de fin.

L’analyse de la latence système n’est généralement effectuée qu’avec des caméras haute vitesse et des équipements techniques coûteux et complexes, ainsi qu’avec une souris modifiée et un système LED permettant de suivre les clics de la souris. Grâce à une caméra haute vitesse (1 000 FPS), vous pouvez mesurer un temps de latence minimal de 1 ms. Cependant, le prix de l’équipement de base pour une configuration de ce type ne démarre pas à moins de 6 000 €. Quand bien même vous disposeriez de cet équipement, chaque mesure prendrait environ 3 minutes, une durée bien trop longue pour 99,9 % des joueurs.

Analyseur de latence de NVIDIA Reflex

Lancés cet automne, les écrans G-SYNC (360 Hz) compatibles prendront en charge une nouvelle fonctionnalité : l’analyseur de latence de NVIDIA Reflex. Grâce à cet outil révolutionnaire, les joueurs pourront mesurer la réactivité de leur système, ce qui leur permettra de comprendre parfaitement et de modifier les performances de leurs PC avant de démarrer une nouvelle partie.

 

Pour accéder à cette fonctionnalité, il vous suffira de brancher votre souris au port USB de l’analyseur de latence sur un écran G-SYNC (360 Hz). Le port USB Reflex de l’écran constitue un simple relais vers le PC qui surveille les clics de la souris sans augmenter la latence.

L’analyseur de latence de NVIDIA Reflex détecte les clics provenant de la souris et mesure la durée nécessaire au changement des pixels correspondants à l’écran (un coup de feu, par exemple) afin de calculer la latence système totale.

La nouvelle interface de performance de GeForce Experience indique les mesures de latence en temps réel. Pour les consulter, vous devrez activer le paramètre Mesures de latence dans les options Interface de performance lors de sa sortie en septembre.

L’analyseur de latence de NVIDIA Reflex décompose la latence système en plusieurs phases : souris, PC + écran et système.

Vous pouvez utiliser n’importe quelle souris avec l’analyseur de latence de NVIDIA Reflex afin d’obtenir la latence PC + écran (à l’exception des souris Bluetooth). Cependant, l’utilisation d’une souris compatible Logitech, Razer ou ASUS vous permettra de mesurer la latence du périphérique et d’obtenir la latence système de bout en bout.

Par ailleurs, nous publierons une base de données ouverte regroupant les latences de souris moyennes et qui pourra être complétée si votre souris est reconnue par GeForce Experience. La communauté pourra prochainement ajouter des souris à cette base de données. Nous en reparlerons ultérieurement.

Pour l’heure, trois fabricants de souris partenaires ont annoncé prendre en charge l’analyseur de latence de NVIDIA Reflex : ASUS, Logitech et Razer. Consultez régulièrement leurs sites web et comptes de réseaux sociaux pour en savoir davantage sur la compatibilité de l’analyseur de latence de NVIDIA Reflex. Dès cet automne, vous pourrez également profiter des écrans G-Sync (360 Hz) d’ASUS, ACER, Dell et MSI, qui intègreront l’analyseur de latence de NVIDIA Reflex.

Mesures logicielles de NVIDIA Reflex

Si vous souhaitez analyser votre latence avant même de passer à un écran 360 Hz, c’est possible. Pour tout jeu intégrant le kit de développement de NVIDIA Reflex, vous pouvez ajouter les latences de jeu et de rendu à vos statistiques en jeu. Si cette mesure ne représente pas la latence totale, elle constitue un excellent point de départ pour l’optimisation de ce facteur.

GeForce Experience propose également une interface de performance qui vous permet de suivre la latence de rendu immédiate dans n’importe quel jeu. La latence de rendu immédiate suit l’appel actuel via la file d’attente de rendu et le rendu du GPU. Dans la mesure où il s’agit de l’appel final d’une image, la latence de rendu immédiate sera légèrement inférieure à la latence de rendu mesurée avec le kit de développement de NVIDIA Reflex. Toutefois, elle devrait vous donner une idée assez précise de cette valeur. Dans une prochaine mise à jour, nous ajouterons la latence de rendu à GeForce Experience.

Vous devrez simplement passer aux dernières versions du pilote Game Ready de GeForce et de GeForce Experience plus tard dans le mois. Vous devrez alors accéder au menu Performances, avant de sélectionner Mesures de latence et d’activer Interface de performance.

Amélioration de votre qualité de tir avec une latence réduite

Outre les outils d’analyse de la latence, nous nous sommes associés à The Meta, développeur de KovaaK 2.0, afin de proposer le nouveau mode NVIDIA Experiments dans une future mise à jour client, qui permettra aux joueurs d’améliorer leurs performances ainsi que leurs compétences.

Vous pouvez passer en mode NVIDIA Experiments depuis le bac à sable ou l’outil d’amélioration de la qualité de tir (aim trainer). Une fois le mode NVIDIA Experiments activé, vous pourrez sélectionner le test de votre choix. Nous avons par ailleurs intégré le kit de développement de NVIDIA Reflex à KovaaK 2.0. Celui-ci s’ajoute à d’autres technologies qui apportent une nette différence pour les joueurs entre une latence élevée et une latence faible.

En effectuant ces tests, vous pouvez non seulement améliorer votre qualité de tir mais également contribuer à d’éminentes recherches concernant l’esport. Notre partenariat avec The Meta dans le cadre de KovaaK 2.0 nous permet de réaliser des tests et de mettre fin à certaines idées reçues dans le domaine des jeux compétitifs. Par exemple, l’un de nos premiers tests vise à fournir une explication scientifique quant au choix de la couleur de cible, en fonction des discussions des joueurs à ce sujet dans Valorant.

Consultez dès maintenant la page Steam de KovaaK 2.0 pour ne pas manquer la sortie du mode NVIDIA Experiments.

Prochain niveau : Latence système – Mode expert

Nous allons désormais rentrer un peu plus dans les détails de la latence système. Cette section aborde la façon dont vos clics de souris sont vraiment restitués sur les pixels de votre écran, le concept du pipeline de jeu et de rendu, l’impact des états CPU/GPU bound sur la latence, les superpositions dans le pipeline de rendu ainsi que quelques outils qui vous permettront de visualiser ce qui se passe sur votre système.

Restitution de vos actions à l’écran étape par étape

Comment vos clics sont-ils vraiment restitués à l’écran ? Le tableau ci-dessous décompose les différentes phases de ce pipeline. Si celles-ci se superposent, elles commencent à gauche et se terminent à droite.

Nous allons décomposer chaque case de la deuxième ligne du schéma ci-dessus. Veuillez noter que les cases ne sont pas à l’échelle. Pour des raisons de simplicité, nous allons nous concentrer sur la souris. Cependant, le même raisonnement s’applique à tout autre périphérique USB connecté au PC.

  • Souris (matériel) – Il s’agit du premier contact électrique, lorsque la souris est prête à envoyer l’événement dans le câble. Certaines caractéristiques de la souris (telles que le délai anti-rebond) augmentent la latence lors de l’enfoncement du bouton. La fonction anti-rebond empêche tout clic indésirable de la souris. Ces clics supplémentaires sont généralement appelés doubles clics, lorsque deux clics sont envoyés au lieu d’un seul en raison d’une pression trop élevée. La latence n’est donc pas le seul facteur de performance clé de votre souris.
  • Port USB de la souris (matériel) – Une fois le délai anti-rebond passé, la souris doit attendre la prochaine interrogation avant d’envoyer les paquets dans le câble. Ce délai intervient au niveau du port USB (matériel).
  • Port USB de la souris (logiciel) – Le délai au niveau du port USB de la souris (logiciel) correspond à la durée nécessaire au système d’exploitation et au pilote de la souris pour traiter le paquet USB.
  • Échantillonnage – Les clics sont transmis dans le système d’exploitation en fonction de la fréquence d’interrogation de la souris. Ils devront alors attendre la prochaine phase d’échantillonnage du jeu. Ce délai d’attente est appelé « latence d’échantillonnage ». Cette latence peut augmenter ou diminuer selon la fréquence d’images du CPU.
  • Simulation – Les jeux doivent constamment mettre à jour l’état de l’environnement. Cette mise à jour est généralement appelée « simulation ». La simulation inclut notamment la mise à jour d’animations, de l’état du jeu et des changements induits par les actions des joueurs. Les entrées de la souris sont appliquées à l’état du jeu lors de la simulation.
  • Envoi du rendu – Alors que la simulation détermine où placer les éléments dans l’image suivante, elle commence à envoyer les tâches de rendu à l’environnement d’exécution de l’API graphique. L’environnement d’exécution transmet à son tour les commandes de rendu au pilote graphique.
  • Pilote graphique – Le pilote graphique est chargé de communiquer avec le GPU et de lui envoyer des regroupements de commandes. En fonction de l’API graphique, le pilote peut effectuer ce regroupement pour le développeur, lequel devra regrouper les tâches de rendu dans le cas contraire.
  • File d’attente de rendu – Une fois les tâches envoyées le pilote au GPU, celles-ci sont ajoutées à la file d’attente de rendu. La file d’attente de rendu permet d’alimenter constamment le GPU en mettant en mémoire tampon des tâches à exécuter. Cela permet de maximiser la fréquence d’images (FPS) mais peut entraîner des latences. 
  • Rendu – Il s’agit du temps nécessaire au GPU pour restituer toutes les tâches associées à une image. 
  • Composition – Selon votre mode d’affichage (plein écran, sans bordure, avec fenêtres), le gestionnaire des fenêtres du bureau dans le système d’exploitation doit soumettre des tâches de rendu supplémentaires afin d’assembler le reste du bureau selon une image spécifique. Cette opération peut augmenter la latence. Nous vous recommandons de toujours utiliser le mode plein écran afin de minimiser la latence de composition !
  • Balayage – Une fois la composition terminée, la mémoire tampon finale est prête à être affichée. Le GPU signale alors que la mémoire tampon est prête à être affichée et modifie la mémoire tampon à balayer. Si la synchronisation verticale est activée, ce basculement de mémoire tampon peut être bloqué en raison du délai d’attente de la synchronisation verticale de l’écran. Lorsque le GPU est prêt, l’image suivante s’affiche à l’écran, ligne par ligne, en fonction de la fréquence d’actualisation (Hz) de l’écran. Le balayage étant une fonction de la fréquence d’actualisation, nous l’incluons dans la latence d’affichage.
  • Traitement de l’écran – Le traitement de l’écran est le temps requis par l’écran pour traiter l’image entrante (lignes de balayage) et déclencher la réponse des pixels.
  • Réponse des pixels – Il s’agit de la durée nécessaire à un pixel pour passer d’une couleur à une autre. Dans la mesure où les pixels sont des cristaux liquides réels, leur modification prend du temps. Les temps de réponse des pixels peuvent varier selon l’intensité des changements requis ainsi que la technologie de la dalle.

Pipeline de latence (GPU bound)

Maintenant que nous savons comment un clic est restitué à l’écran, parlons performances. Lors du profilage des jeux, nous essayons généralement de déterminer les performances dans les états GPU bound ou CPU bound. Cette méthode s’avère très utile pour comprendre les performances du système. Mais en réalité, les jeux passent souvent d’un état à l’autre.

Commençons par l’état GPU bound lorsque la synchronisation verticale est désactivée.

Dans cet exemple, nous avons simplifié le pipeline en cinq grandes phases : périphérique, CPU, file d’attente de rendu, GPU et écran.

Analysons l’image 4 et regardons ce qui se passe pour chaque phase :

  • Périphérique – L’entrée de la souris ou du clavier peut être générée à tout moment par l’utilisateur. Dans cet exemple, l’utilisateur a cliqué sur la souris avant que le CPU ne soit en mesure d’accepter l’entrée. Par conséquent, l’événement d’entrée est en attente, de la même manière qu’une personne attend le prochain train à la gare.
  • CPU – Le début du travail du CPU (simulation) débute généralement après ce que l’on appelle le bloc présent. Dans le cas d’un état GPU bound, le CPU exécute son travail plus rapidement, prenant ainsi de l’avance sur le GPU. Cependant, pour la plupart des API graphiques (DX11, DX12, Vulkan, etc.), le nombre d’images pouvant être exécutées en avance par le segment d’envoi de rendu du CPU est limité. Dans le cas ci-dessus, le CPU est autorisé à exécuter deux images en avance. La phase relative au CPU se termine lorsque le pilote a terminé d’envoyer les tâches au GPU. En réalité, elle se superpose avec la phase concernant la file d’attente de rendu, mais nous en reparlerons plus tard.
  • File d’attente de rendu – Il s’agit tout simplement d’une file d’attente. Le premier élément de la file est le premier à en sortir. Si le GPU travaille encore sur l’image précédente lorsque le CPU envoie d’autres tâches, celui-ci place ce travail de rendu dans la file d’attente de rendu. Cette file d’attente peut s’avérer utile afin de garantir une alimentation permanente du GPU et de contribuer à la fluidité des images, mais au détriment d’une latence parfois considérablement accrue.
  • GPU – Il s’agit du rendu réel de l’image par le GPU. Dans le cas d’un état GPU bound, les tâches arrivent les unes après les autres, car le GPU constitue le goulot d’étranglement du pipeline.
  • Écran – Ce cas s’applique lorsque la synchronisation verticale est désactivée. Une fois le rendu du GPU terminé, la nouvelle mémoire tampon est immédiatement balayée, peu importe où en est l’écran dans le processus de balayage. Cela génère un déchirement de l’image, qui reste toutefois privilégié par les joueurs, car il implique une plus faible latence. Un article sera bientôt disponible sur la synchronisation verticale et la technologie G-SYNC.

Maintenant que nous avons compris tout ce qui se passait, nous pouvons constater que le GPU constitue le goulot d’étranglement du pipeline, provoquant ainsi une accumulation des tâches dans la file d’attente de rendu et un fonctionnement en avance du CPU. Dans l’image ci-dessus, nous pouvons constater que la durée d’image sert d’indicateur de fréquence. Dans ce cas, un GPU plus rapide générera une fréquence d’images plus élevée.

De plus, nous pouvons observer la latence système, qui débute dès le premier clic de la souris et se termine à la fin de l’affichage. La latence est généralement plus élevée lorsque les performances sont limitées par le GPU (GPU bound), en raison de la file d’attente de rendu et de l’avance dans l’exécution du jeu par rapport au bloc présent, ce qui génère de nouvelles images dont l’envoi sera retardé.

Pipeline de latence avec le kit de développement de NVIDIA Reflex

Nous allons maintenant jeter un œil aux effets du kit de développement de NVIDIA Reflex sur le pipeline dans le cas d’un état GPU bound :

Comme vous pouvez le constater, la file d’attente de rendu a pratiquement disparu. Le kit de développement de NVIDIA Reflex ne la désactive pas, mais la vide simplement. Comment cela fonctionne-t-il ?

Pour l’essentiel, le jeu est capable d’améliorer le rythme du CPU de manière à ce qu’il ne puisse pas s’exécuter en avance. Il est par ailleurs possible de soumettre les tâches au GPU selon la méthode juste-à-temps afin que le processus de traitement se déroule sans interruption. Par ailleurs, en retardant le travail du CPU, vous pouvez échantillonner des données d’entrée à la milliseconde près, ce qui permet de réduire la latence.

De plus, lorsque la file d’attente de rendu est réduite grâce au kit de développement, la latence de jeu commence également à diminuer. Ces baisses s’expliquent par la réduction de la contre-pression générée par la file d’attente de rendu lorsque les performances sont limitées par le GPU.

Si vous avez déjà optimisé votre latence, cela revient à utiliser un puissant limiteur de fréquence d’images en jeu afin de réduire la latence. Un limiteur de fréquence d’images en jeu efficace bloquera le jeu au bon endroit, contribuant ainsi à la diminution de la latence et de la contre-pression du CPU.

La plateforme NVIDIA Reflex agit différemment et permet d’augmenter votre fréquence d’images au-delà de votre limite, réduisant ainsi davantage votre latence. Vous pouvez considérer cet outil comme un limiteur de fréquence « dynamique », qui garantit une latence optimale à tout moment.

Pipeline de latence (CPU bound)

Lors de l’utilisation du mode à faible latence de NVIDIA Reflex dans le cas d’un état GPU bound, le pipeline agit comme s’il s’agissait d’un état CPU bound, même si le GPU est totalement saturé et utilisé. Penchons-nous sur un pipeline concret dans le cas d’un état CPU bound.

Comme vous pouvez le constater dans ce tableau, la fréquence d’images est limitée par le CPU. Dans la mesure où le CPU ne peut pas s’exécuter en avance par rapport au GPU, il n’y a pas de file d’attente de rendu dans ce cas. En règle générale, l’état CPU bound génère une latence plus faible que l’état GPU bound.

Dans ce cas, un GPU plus rapide n’offrira pas une meilleure fréquence d’images mais réduira votre latence. Lorsque la synchronisation verticale est désactivée ou que la technologie G-SYNC est utilisée, un GPU plus rapide permet d’envoyer plus rapidement l’image rendue à l’écran.

C’est pour cette raison que le jeu devient plus réactif si vous abaissez les niveaux de vos paramètres. La diminution des paramètres peut souvent générer un état CPU bound (absence de file d’attente) et raccourcir simultanément la durée de rendu du GPU, abaissant davantage la latence.

Grâce au mode à faible latence de NVIDIA Reflex, les joueurs n’ont pas besoin d’ajuster leurs paramètres par défaut au niveau le plus bas. Comme il est possible de réduire efficacement la file d’attente de rendu, les tâches de rendu supplémentaires augmentent uniquement la durée de rendu du GPU.

De plus, même dans le cas d’un état CPU bound, le mode à faible latence de NVIDIA Reflex propose le paramètre Low Latency Boost, qui désactive les fonctionnalités d’économie d’énergie au profit d’une latence légèrement plus faible. Dans le cas d’un état CPU bound où l’utilisation du GPU est faible, les horloges du GPU conservent une fréquence élevée afin d’accélérer le traitement et de pouvoir restituer une image à l’écran le plus rapidement possible. En règle générale, si le paramètre Low Latency Boost offre un avantage très limité, il permet d’éliminer la moindre milliseconde de latence du pipeline.

Latence du PC et superposition

Prêt à passer à la vitesse supérieure ? Analysons maintenant une seule image, mais cette fois-ci avec toutes les superpositions dans le pipeline.

Comme vous pouvez le constater, la majeure partie de la superposition se trouve au niveau de la latence du PC, entre la simulation et la finalisation du rendu du GPU. Pourquoi une telle superposition ?

Les images sont rendues sous formes de petites tâches, appelées drawcalls. Puis, ces appels sont regroupés en paquets de travail. Ces paquets de travail sont ensuite envoyés par le pilote graphique au GPU pour leur restitution. Ainsi, chaque phase peut débuter avant la fin de la phase précédente, ce qui fractionne l’image en plusieurs morceaux.

Au fur et à mesure que les tâches parcourent le pipeline, elles sont stockées dans la mémoire tampon. Ce processus se poursuit jusqu’à ce que l’image soit entièrement rendue. Une fois le rendu terminé, la mémoire tampon précédente est remplacée par une autre mémoire tampon disponible dans la chaîne d’échange et envoyée pour balayage.

Cet aspect est très important pour la compréhension des latences de rendu et de jeu. En règle générale, ces deux latences se superposent. Autrement dit, la latence totale ne correspond pas à la somme de celles-ci.

Conclusion

La latence système constitue non seulement l’évaluation quantitative du comportement de votre jeu mais également le facteur clé qui influe sur la précision de tir des joueurs dans le cas de jeux de tir à la première personne. Grâce à NVIDIA Reflex, les développeurs et joueurs peuvent optimiser leur latence système et, pour la première fois, mesurer facilement cette valeur.

En résumé, NVIDIA Reflex offre une suite complète de technologies d’optimisation de la latence :

  • Technologies de réduction de la latence :
    • Kit de développement de NVIDIA Reflex – Kit de développement utilisé pour activer le mode à faible latence de NVIDIA Reflex dans le cas d’une utilisation intensive du GPU
    • Amélioration des options du panneau de configuration du pilote pour la latence – Option Privilégier des performances maximales améliorée et mode à ultra-faible latence
    • GeForce Experience : optimisation des performances – Optimisation automatique pour le surcadençage du GPU (1-Click)
  • Outils d’analyse de la latence :
    • Indicateurs du kit de développement de NVIDIA Reflex – Marqueurs de la latence de jeu et de rendu permettant aux développeurs d’afficher des mesures de latence en jeu
    • Analyseur de latence de NVIDIA Reflex – Nouvelle fonctionnalité des écrans G-SYNC (360 Hz) permettant, pour la première fois, de mesurer la latence système de bout en bout
    • GeForce Experience : surveillance des performances – Barre latérale et interface en jeu affichant des mesures de performance en temps réel, y compris la latence

Nous sommes heureux de vous proposer NVIDIA Reflex, pour une expérience de jeu encore plus réactive. La réduction de la latence est une priorité absolue chez NVIDIA. En ce sens, nous continuerons de perfectionner la plateforme NVIDIA Reflex et de développer notre écosystème de partenaires.

Nous sommes impatients de connaître votre avis ! Rendez-vous sur le forum de la communauté Reflex afin d’aborder des sujets relatifs à la latence et de trouver des réponses à vos questions concernant la plateforme NVIDIA Reflex.

Le mode à faible latence de NVIDIA Reflex sera pris en charge par le pilote Game Ready, qui sera disponible le 17 septembre. De plus, notre plateforme sera progressivement prise en charge par les jeux de nos partenaires cette année. Des écrans de jeu G-SYNC (360 Hz) seront proposés dès cet automne par ACER, ASUS, Dell et MSI.

Comments