Cyberpunk 2077 souffrirait d’une mauvaise détection du SMT des processeurs Ryzen d’AMD. Un patch officieux est disponible depuis peu, corrigeant a priori le problème. Voici pour la théorie, qu’en est-il en pratique ?
Longuement attendu par les joueurs, Cyberpunk 2077 souffre depuis son lancement de très nombreux problèmes (qui a dit “buuuuuugs” au fond de la salle ?), divers et variés. Nous nous sommes intéressés à un patch officieux disponible depuis quelques jours sur Github et censé améliorer les performances, en particulier côté CPU. Ce dernier regroupe un certain nombre de modifications apportées par la communauté au code du jeu, tout en facilitant leur activation.
Ce patch pour Cyberpunk 2077 permet en théorie de débrider le SMT des processeurs Ryzen (mal détecté par défaut), mais aussi de supprimer les contre-mesures (pas vraiment nécessaires dans un jeu vidéo solo, mais qui ont un impact négatif sur les performances) destinées à mitiger la faille Spectre présente dans de nombreux processeurs, d’optimiser la gestion de la mémoire vive et graphique ou encore de désactiver l’antialiasing TAA et l’Async Compute.
Cyberpunk 2077 : on a trouvé toutes les options cachées et comment les activer
Deux plateformes de test, cinq années d’écart
Pour tester l’efficacité de ce patch, nous avons monté deux configurations bien différentes : une “vieille” configuration Intel de 2015/2016, assez représentative d’une part non négligeable du parc encore installé sur le marché, et une seconde configuration AMD “contemporaine”, avec un processeur et une carte graphique millésimés “2020”.
Dans le détail, la première configuration repose sur une plateforme Z170 d’Intel (Asus Z170 Deluxe), avec un processeur Core i5-6500 (un modèle quad-core) refroidit par une ventirad Noctua NH-U12S, 16 Go de mémoire Klevv DDR4-2133 (CL15), une GeForce GTX 980 Ti (MSI GTX 980Ti Gaming 6G), un SSD Sandisk Ultra II de 460 Go et une alimentation Corsair HX 750.
La seconde regroupe une plateforme X570 (Gigabyte X570 Aorus Master), un processeur Ryzen 5 5600X refroidit par un système de watercooling AiO BeQuiet! Pure Loop 280, 16 Go de mémoire G.Skill DDR4-3600 (CL16), une carte graphique RTX 3080 Phoenix GS de chez Gainward, un SSD WD Blue SN550 de 1 To (M.2 NVMe) et une alimentation Thermaltake Thoughpower iRGB Plus 1050W (certifiée 80Plus Platinum). Dans les deux cas, nous avons utilisé un moniteur Philips Momentum 558M1RY pour l’affichage.
Notre scène de test (la scène 3 du mode debug) se compose de trois parties : la première avec de la foule et des véhicules se déroule dans Little China, la deuxième sur les routes dégagées de Northside est plus légère, et on termine avec une scène plus lourde, toujours dans Northside mais avec une charge plus élevée de bâtiments et de véhicules. Le jeu a été testé en version 1.04.
Patch Spectre et Pool Mémoire
Ce patch officieux permet selon son auteur de désactiver les contre-mesures logicielles permettant de mitiger la faille Spectre présentes dans de nombreux CPU récents. Il permet également de modifier la gestion de la mémoire vive et de la VRAM. Un fichier de configuration du jeu laisse en effet penser que l’utilisation de la RAM et de la VRAM est artificiellement limitée ; ce patch se proposer d’y remédier en augmentant la quantité de mémoire indiquée dans ce fichier de configuration jusqu’à 100% de la quantité de mémoire embarquée sur la carte graphique, et jusqu’à 50% de la mémoire vive disponible (soit 8 Go dans notre cas).
Avec notre “ancienne” configuration, l’application de ces deux modifications en Full HD n’a pas vraiment l’effet escompté : les performances n’augmentent pas, pire elles sont même légèrement inférieures à celles offertes de base par le jeu.
Même constat en Full HD avec des réglages “Moyens” sur notre configuration Ryzen 5600X/RTX 3080 : les performances avec et sans les modifications “Spectre” et “Pool Mémoire” sont quasi identiques, que ce soit au niveau du framerate moyen ou du framerate minimum.
Le passage en QHD avec des réglages graphiques plus élevés (donc avec une charge plus importante côté GPU) tend même à montrer que ces deux patchs sont contre-productifs : les performances les plus élevées sont atteintes avec le jeu non modifié !
Patch Async Compute
Activé par défaut dans le jeu, l’Async Compute aurait, selon le créateur du patch officieux (yamashi), un impact négatif sur les performances avec les “anciennes” cartes graphiques (GTX 10 Series et modèles précédents). Désactiver l’Async Compute pourrait donc dans certains cas améliorer légèrement les performances. Voyons ce qu’il en est avec notre GeForce GTX 980 Ti.
La différence de performances en Full HD est très légère, mais semble bel et bien réelle : avec une densité de foule réglée sur “Basse” ou “Moyenne”, la désactivation de l’Async Compute (avec notre GTX 980 Ti) fait légèrement augmenter le framerate moyen. Il n’y a en revanche aucun impact sur les FPS minimum. Inutile de tester dans une définition supérieure, notre Core i5-6500 étant déjà à genoux en Full HD.
Patch SMT (Ryzen)
Le patch permet en théorie de mieux utiliser le SMT des processeurs Ryzen, via une modification d’une condition de saut dans le code du jeu. Nous n’avons pas testé ce patch avec notre Core i5 puisque celui-ci ne possède pas d’Hyper-Threading (et de toute façon, le SMT à la sauce Intel est correctement pris en charge par Cyberpunk 2077).
En Full HD avec des réglages moyens, on note que le patch a bien un effet sur les performances, mais uniquement au niveau du framerate minimum, qui progresse d’une poignée de pourcents. Le framerate moyen diminue quant à lui légèrement.
En QHD avec des réglages graphiques “Ultra” et les textures réglées sur “Elevées”, même constat : les FPS moyens diminuent légèrement avec le patch actif, mais en contrepartie le framerate minimum est un peu plus élevé. La différence n’est pas extraordinaire, mais toujours bonne à prendre. On espère donc que CD Projekt corrigera la mauvaise prise en charge du SMT des Ryzen dans un futur patch officiel.
Conclusion : un peu d’efficacité, beaucoup de placebo
Si le patch a bel et bien un impact sur les performances lorsqu’il s’agit d’activer la prise en charge du SMT sur les processeurs Ryzen, les autres modifications (désactivation des contre-mesures Spectre, modifications des pool mémoire…) ressemblent en revanche plus à du placebo qu’à un véritable patch efficace, en tout cas sur nos deux configurations de test au moins.
Que ce soit avec un petit GPU et une carte graphique d’ancienne génération, ou un couple CPU/GPU bien plus récent, l’impact sur les performances des modifications “Spectre” et “Pool Mémoire” est inexistant, voire même négatif. On se contentera donc d’appliquer le patch “SMT” pour augmenter légèrement le framerate minimum en jeu avec les configs à base de Ryzen (ce qui est déjà pas mal, en attendant un patch officiel de la part de CD Projekt !), en sachant que le framerate moyen pourra quant à lui baisser légèrement.
Attention enfin à ne pas prendre pour argent comptant les quelques mesures que vous pourrez trouver ça et là concernant ces modifications officieuses du jeu : l’application d’un protocole de bench strict, avec une scène de test parfaitement reproductible, est indispensable pour obtenir des mesures de performances irréprochables !