Hier, Crytek publiait une première version publique de sa démonstration Neon Noir, proposant son moteur de ray tracing « agnostique » en termes d'API. L'occasion de tester les performances des cartes graphiques d'AMD et NVIDIA. Nous avons donc décidé d'opposer deux modèles haut de gamme de ces constructeurs.
Lors de l'annonce de Neon Noir, la promesse de Crytek était simple : là où l'on voit que les jeux exploitant DirectX Raytracing sont à la peine la plupart du temps une fois ce mode de rendu activé, l'éditeur voulait permettre à chacun d'en profiter. Pour cela, il a travaillé à une évolution de son moteur qui ne repose pas sur une API ou une implémentation en particulier, créée de manière à offrir de bonnes performances même sur des cartes graphiques sans accélération matérielle.
On découvrait alors une vidéo dans laquelle une Radeon Vega 56 était capable d'effectuer un rendu de la démo de manière fluide, mais sans aucun chiffre détaillé. Surtout, cela se faisait dans un environnement contrôlé : scène connue à l'avance, peu d'éléments mouvants avec un unique « personnage » sous la forme d'un drone, etc.
Maintenant qu'un benchmark est publiquement disponible, nous avons donc décidé de voir ce qu'il en était, sur la Vega 56, puis en opposant une Radeon VII à son équivalent chez NVIDIA : la GeForce RTX 2080.
CryEngine : qu'est-ce qui change ?
Le Cry Engine propose depuis sa version 5, qui a quelques années déjà, des fonctionnalités avancées sur la gestion des lumières et des ombres, à travers Total Illumination (désormais en v2), une solution implémentée pour Kingdom Come : Deliverance, également utilisée dans le dernier titre du studio Hunt : Showdown.
Mais cette solution d'illumination globale (SVOGI) reposant sur du ray tracing « allégé » (Voxel Cone Tracing) était imparfaite, de l'aveu même de l'équipe. Elle fonctionnait en effet mal sur certaines surfaces à forte réflexion comme les miroirs par exemple ou lorsqu'il fallait afficher des éléments qui étaient hors de l'écran.
La promesse faite par Microsoft et NVIDIA sur DirectX Raytracing (DXR) et de RTX était justement de pouvoir dépasser de telles limites, malgré un rendu en temps réel. Le tout en permettant d'exploiter cette technologie dans de nombreux cas, mais Crytek a de son côté préféré se focaliser sur l'amélioration de la gestion de la réflexion/réfraction.
La prochaine évolution du CryEngine, reflétée par Neon Noir, se concentre donc sur ce point. C'est sans doute la raison pour laquelle ces effets sont si mis en avant, quitte à forcer le trait. On retrouve en effet cette fameuse tendance à confondre eau et miroir, déjà constatée dans certains titres « RTX On » comme Battlefield V par exemple.
Les développeurs pourront ainsi se contenter de l'implémentation actuelle lorsque les surfaces ne nécessiteront pas de grand niveau de reflet, mais pourront se tourner vers la nouvelle si jamais cela venait à être le cas. Selon Crytek on peut d'ailleurs passer facilement de l'un à l'autre ou même les cumuler dans une même scène selon la distance par exemple.
Il faudra donc voir quels choix artistiques seront faits, notamment lorsqu'il s'agira d'exploiter ces technologies dans des environnements complexes avec un bon niveau de performances sur des cartes plus ou moins puissantes, avec ou sans accélération matérielle.
Le cas de la Vega 56
Dans son billet publié en mai dernier, l'équipe donnait plus de détails sur les performances attendues pour une Vega 56 : 30 ips avec une définition de type 1080p. Si RTX n'était alors pas encore supporté, Crytek avait clairement mentionné l'apport de cette accélération matérielle non en termes de qualité ou de fonctionnalités, mais de performances.
L'équipe annonçait qu'il est possible d'effectuer un rendu des réflexions/réfractions à la moitié de la définition de l'image pour améliorer les performances. De quoi passer à plus de 40 ips en 1440p pour une Vega 56. Malheureusement, on ne sait pas quelle solution est utilisée dans les deux modes du benchmark : Very High/Ultra.
Mode Very High (à gauche) puis Ultra (à droite)
On note d'ailleurs assez peu de différences entre les deux lorsque l'on regarde la scène défiler. Mais si l'on s'attarde sur certains détails, comme sur les captures ci-dessus on note la présence de lignes verticales dans le mode Very High, sans doute expliqués par un rendu en demi-précision. Ils sont présents à différents moments. Dommage que l'équipe n'ait pour le moment pas plus détaillé la composition de cette scène de test. Espérons que cela viendra.
Pour savoir ce qu'il en était côté performances, nous avons testé la Vega 56 afin de voir si la promesse initiale Crytek était tenue. Pour cela nous avons monté une machine à base de Core i7-9700K, 16 Go de DDR4 avec un modèle MSI de référence et les pilotes 19.11.2 d'AMD. Voici nos résultats, le test fonctionnant sous DirectX 11 (donc sans DXR) :
- 1080p :
- Very High : 6 286 points
- Ultra : 4 745 points
- 1440p :
- Very High : 3 851 points
- Ultra : 2 886 points
- 2160p :
- Very High : 1 863 points
- Ultra : 1 396 points
Le score semble correspondre à la moyenne des performances en images par seconde, multiplié par 100. On arrive ainsi à 47/63 ips en 1080p, ce qui est plutôt raisonnable pour une carte de cette gamme. Surtout, cela semble correspondre aux annonces faites par Crytek, avec même un mieux pour cette définition.
En 1440p, on frôle les 30/40 ips selon les cas, ce qui est assez faible. On est à moins de 15/20 ips en 4K, autant dire que ce sera injouable en l'état.
Radeon VII vs GeForce RTX 2080
Passons maintenant à des modèles plus pêchus. Il ne s'agit pas des derniers en date, mais du plus performant de l'offre actuelle d'AMD : la Radeon VII. Nous l'avons ainsi opposé à son équivalent historique chez NVIDIA : la GeForce RTX 2080. Là aussi nous avons effectué des relevés dans tous les modes possibles :

La Radeon VII affiche ici des scores de 35 à 44 % plus élevés que la Vega 56. Le mode 1440p devient à peu près praticable avec cette carte, mais pas avec le niveau de rendu Ultra. La 4K est toujours hors de portée. Il en est de même chez NVIDIA puisque la RTX 2080 reste entre 31 et 38 ips dans cette définition.
Ses résultats sont par contre bien plus élevés que ceux de la Radeon VII : 31 % environ en Very High et 38 % en Ultra. Pourtant, Crytek dit ne pas exploiter l'architecture des RTX pour le moment. Nous avons également calculé l'impact du mode Ultra : 19 % chez NVIDIA contre 27 % chez AMD. Celui de la montée en définition est par contre comparable chez l'un et l'autre : 37/38% pour le passage de 1080p à 1440p. 51/52 % supplémentaires lorsque l'on passe à la 4K.