Depuis qu’elle est devenue open source, la technologie FidelityFX Super Resolution 2.0 d’AMD a été piratée et modifiée dans une multitude de jeux différents (s’ouvre dans un nouvel onglet). Mais grâce à un flux en direct Discord qui a été téléchargé sur YouTube, nous pouvons avoir un aperçu derrière le rideau à quel point il est simple d’ajouter FSR 2.0 dans un moteur de jeu à partir de zéro.
Panos Karabelas est un ancien programmeur de rendu Codemasters, maintenant ingénieur en développement logiciel AMD. Mais il n’est avec l’équipe rouge que depuis quelques mois, ce qui signifie qu’il n’a rien à voir avec le développement de la technologie de mise à l’échelle, et dit qu’il ne l’a jamais utilisée auparavant.
Alors, quoi de mieux pour se familiariser avec la technologie brillante de vos nouveaux employeurs que de montrer vos compétences en codage dans un livestream ?
Utiliser son propre moteur Spartan (s’ouvre dans un nouvel onglet)un terrain de jeu C++ open source personnel, Karabelas démontre l’ensemble du processus depuis le téléchargement du référentiel sur Github, son brouillage dans Visual Studio, puis son codage dans son moteur à partir de zéro en moins de 60 minutes.
La première chose qu’il note, c’est la « documentation incroyablement bonne… c’est énorme », dit-il. « Ils expliquent tout… C’est l’une des raisons pour lesquelles je me sentais si confiant de faire ce live.
« Si vous avez un moteur moderne, cela devrait être facile. Si votre moteur est un peu plus ancien, il y a plus de travail à faire. »
Vous pouvez regarder l’ensemble du processus de mise en œuvre de FSR 2.0 en temps réel car cela lui prend si peu de temps. Il note qu’il a de l’expérience en matière de mise à l’échelle en travaillant sur Dirt 5, mais c’était avant même la naissance de FSR 1.0.
Et il compile la première fois. Il rencontre un problème initial avec d’abord la gigue, puis la vitesse, mais en tout, il faut moins de quatre minutes à Karabelas pour déboguer le code et faire fonctionner parfaitement l’upscaler d’AMD dans la scène de démonstration en blocs de Minecraft-y qu’il utilise.
Il utilise une Radeon RX 6800 XT et une mise à l’échelle de 1280 x 720 à 2560 x 1440 afin de vraiment pousser le FSR 2.0 et de ne lui donner aucune flexibilité. Et il est visiblement surpris par la rapidité avec laquelle il a mis la technologie en marche, ainsi que par sa qualité.
« Je peux à peine y croire. Wow, » s’exclame-t-il. « C’est fou, les gars. Vous réalisez ce qui vient de se passer ? FSR2 a juste fonctionné comme ça. C’est fou. Je ne m’attendais pas à ça. »
Et, en fait, cela fonctionne mieux qu’à la résolution native de 1440p. Karabelas montre à quoi ressemble la scène en natif, avec des pixels qui rampent et scintillent au loin. Mais dès qu’il revient à 720p et à la mise à l’échelle FSR 2.0, tout disparaît, laissant une scène remarquablement stable et claire.
« C’est une implémentation de base que j’ai faite », dit-il. « Je n’ai pas fait de masque réactif, je n’ai pas fait de transparence et de composition, je n’ai pas activé la netteté. C’est aussi simple que possible. »
Et pourtant, en si peu de temps, FSR 2.0 fonctionne incroyablement bien dans un moteur de jeu qui ne l’a jamais vu auparavant. Si cela ne vous impressionne pas à quel point AMD a fait un excellent travail avec son upscaler de deuxième génération, je ne sais pas quoi vous dire.