COMPTOIR
register

Quand les joueurs optimisent le code : après Cyberpunk, voici le tour de GTA V

Avec le lancement houleux de Cyberpunk 2077 — et grâce à son absence totale de DRM — des utilisateurs malins ont réussi à patcher le titre peu de temps après sa sortie, en se payant même le luxe d’optimiser quelque peu les performances pour certaines machines. Si nous nous demandions à l’époque si d’autres jeux suivraient la même voie, voici qu’un joueur répondant au pseudonyme de T0ST nous apporte quelques éléments de réponses, avec un grand nom du paysage vidéoludique de ces dernières années : GTA V.

 

En effet, le jeu est connu pour ses temps de chargements particulièrement longs, y compris sur des machines équipées de SSD : le gamer a en effet mesuré pas moins d’une minute de chargement pour le mode solo, et 6 minutes pour le mode en ligne, en dépit d’un SSD KINGSTON A400 (certes, peu cher) et d’un CPU AMD (certes daté) FX-8350.

 

Alors que la plupart des joueurs auraient jeté l’éponge et attendu avant de pouvoir investir dans une machine plus puissante, notre joyeux luron a sorti le désassembleur, et est allé mesurer où se trouvaient les pertes de performances avec Luke Stackwalker, un logiciel CDH-approved, ne serait-ce que pour son nom. Surprise, après quelques recherches, il s’avère que la fonction strlen() permettant d’obtenir la longueur d’une chaîne de caractère est appelée de très nombreuses fois lors du chargement d’un fichier JSON décrivant un « net shop catalogue », probablement une liste d’objets achetables en jeu (n’allez pas voir le mal partout, ce n’est pas forcément lié aux microtransactions). Hé bien, l’implémentation du décodage du fichier se base sur sscanf(), qui utilise en interne ce strlen() pour compter individuellement le nombre d’octets à copier : un désastre pour les CPU peu performants en monothread.

 

GTA V, un jeu fantastique !

 

De plus, les valeurs étaient stockées par la suite dans un hash array, une structure si inutile que le terme en lui-même n’existe pas ! Pour faire simple, rajouter un élément ou rechercher un élément existant y est très coûteux sans raison valable, d’autant plus que le code décompilé semblait indiquer que des fonctions plus efficaces avaient bien été codées... mais ne sont pas utilisées.

 

Pour patcher cela, notre gus a réalisé lui-même une bibliothèque (blabla.dll) corrigeant en partie le souci, qu’il faut charger au démarrage du jeu via un petit utilitaire. Le résultat est édifiant : au total, le temps passé en chargement pour les parties en ligne uniquement a diminué de 6 minutes à 1 minute et 50 secondes, soit près de 70 % de réduction ! À voir si l’oreille de Rockstar saura se montrer attentive à la critique... (Et merci à Moutarde Bleue pour la source)

 

Un poil avant ?

Le 11700K vendu en avance s'offre un Cinebench

Un peu plus tard ...

Kioxia débute la construction de sa nouvelle usine à NAND

Les 22 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Unragoteursansespace en Provence-Alpes-Côte d'Azur, le Jeudi 04 Mars 2021 à 12h34  
exactement !!! mais derriere c'est toujours a nous de payer les pots casser

le jeux a sa sortie etait immonde ! serveur ramasse /deco/ temps de chargement inuhumain/


et 7 jours apre la sortie des cheaters partout !

qui pourrisait le jeux et pendant ce temps la R mettais des ban de 1 heure .... et il continue bref

les journaliste qui continue a ne pas dire la verite pour que la machine a billet continue a marcher et qu il est du papier a vendre (qui ne blesse surtout personne)

bref on le savais depuis longtemps les dev de chez Rockstar sont aussi bon que des debutants lambda dans une boite de dev qui debute ...

ils ont juste plus de sous donc plus de moyen c'est tout ....
par YulFi le Jeudi 04 Mars 2021 à 09h05
Ca à déjà fait rêver quelqu'un ? Il m'a suffit d'un entretien dans une boite de jv pour me faire fuir de ce milieu. Ils veulent la crème technique au prix ras des pâquerettes, aller tchao les nazes ! "Non mais vous êtes passionné et vous voulez être bien payé en plus ???" La blague.
par Une ragoteuse à forte poitrine embusqué, le Jeudi 04 Mars 2021 à 09h13  
par YulFi le Jeudi 04 Mars 2021 à 09h05
Ca à déjà fait rêver quelqu'un ? Il m'a suffit d'un entretien dans une boite de jv pour me faire fuir de ce milieu. Ils veulent la crème technique au prix ras des pâquerettes, aller tchao les nazes ! "Non mais vous êtes passionné et vous voulez être bien payé en plus ???" La blague.
Lorsque je lisais les offres sur le "Bureau permanent de recrutement sur le comptoir" je me suis fait la même réflexion.
par YulFi, le Jeudi 04 Mars 2021 à 09h05  
par Unragoteursansespace en Île-de-France le Jeudi 04 Mars 2021 à 02h26
Non le piratage sur PC n'est plus un fléau, les DRM, l'obligation d'être connectés ont marginalisés le piratage surtout par rapport à l'époque où il suffisait de charger la Mule pour avoir n'importe quel jeu
Pour en revenir au codage, il ne faut pas rêver que cela s'améliore, développeur de jeu vidéo n'est plus un métier qui fait rêver, le crunch, le climat anxiogène à pousser les bon dev vers d'autres secteurs d'activités et forcément ceux qui restent sont moins bon, même dans les écoles ont déconseille cette voie
Ca à déjà fait rêver quelqu'un ? Il m'a suffit d'un entretien dans une boite de jv pour me faire fuir de ce milieu. Ils veulent la crème technique au prix ras des pâquerettes, aller tchao les nazes ! "Non mais vous êtes passionné et vous voulez être bien payé en plus ???" La blague.
par Un ragoteur blond embusqué, le Jeudi 04 Mars 2021 à 06h53  
A noter au passage que parmi les corrections de Cyberpunk réalisées par la communauté, certaines n'avaient en fait aucun effet.
Je pense notamment au fichier avec la taille mémoire utilisable. C'était un fichier qui était resté mais n'était pas utilisé par le jeu. Il a depuis été simplement supprimé des sources.
Du coup, l'amélioration en "changeant la taille mémoire utilisable" était un mélange de placebo et d'améliorations de perf du uniquement au fait d'avoir redémarré le jeu.
par Unragoteursansespace en Île-de-France, le Jeudi 04 Mars 2021 à 02h26  
Non le piratage sur PC n'est plus un fléau, les DRM, l'obligation d'être connectés ont marginalisés le piratage surtout par rapport à l'époque où il suffisait de charger la Mule pour avoir n'importe quel jeu
Pour en revenir au codage, il ne faut pas rêver que cela s'améliore, développeur de jeu vidéo n'est plus un métier qui fait rêver, le crunch, le climat anxiogène à pousser les bon dev vers d'autres secteurs d'activités et forcément ceux qui restent sont moins bon, même dans les écoles ont déconseille cette voie
par Un ragoteur blond en Provence-Alpes-Côte d'Azur, le Mercredi 03 Mars 2021 à 21h09  
Rockstar comme les autres sont a vomir depuis le premier jour de sortie on leur met post sur post que il y a un probleme de programation sur ces temps de chargment la sur le site officiel (et la triche n'en parlons pas) et maintenant on vois bien qu il ne se sont JAMAIS pencher dessus ...

les editeur/dev/actionnaire (comme vous voulez .... faite votre choix)

il meprise les gamers, avec une tel mentaliter pas etotant qu il y est autant de piratage et que les gens ne respecte pas le """"""""""travail des dev""""""""""" (si on peut encore appeler ca comme ca ... )
par Nicolas D., le Mercredi 03 Mars 2021 à 20h29  
par Un #ragoteur distrait des Pays de la Loire le Mercredi 03 Mars 2021 à 16h48
C'est expliqué dans le post en anglais que ça a été fait justement pour GTA Online, à priori rien à voir avec le mode story, la news cdh est un peu trop clickbait

Il suffit de descendre un peu dans le post anglais pour constater que ça n'arrive qu'en mode online :
"Story mode load time: ~1m 10s
Online mode load time: ~6m flat"
Pardon, j'ai corrigé dans le corps du texte . Moi qui trouvais ça pas assez aguicheur de pas avoir mis les 70 % dans le titre global '
par Un ragoteur de transit en Provence-Alpes-Côte d'Azur, le Mercredi 03 Mars 2021 à 18h11  
 
au total, le temps passé en chargement a diminué de 6 minutes à 1 minute et 50 secondes


En se connectant sur le online à partir du solo, cela peut être quasi instantané en suspendant le processus GTAV pendant 10 sec dans l'onglet network du moniteur de ressource.
En prime, tu crées une session online publique solo !
par Valence©, le Mercredi 03 Mars 2021 à 17h48  
Le peu que j'ai joué a GTA V online c'était remplit de tricheurs, tout le temps
par seb4771 le Mercredi 03 Mars 2021 à 16h45
C'est justement le sujet, sachant que plusieurs milliers de bans ont eu lieu JUSTE pour des skins "gratos" sans aucune modifications de fichier, là on ajoute des fonctions directement sur le jeu donc le marteau va certainement tombé.

Il va falloir choisir entre un ban ou des temps de chargement.
par Valence©, le Mercredi 03 Mars 2021 à 17h45  
C'est un excellent jeu (sur PC) et ce n'est pas vraiment le sujet de l'article
par Une ragoteuse à forte poitrine embusqué le Mercredi 03 Mars 2021 à 16h36
Cyberpunk 2077 sans les précommandes se serait pris une grosse claque dans la gueule. Ce jeu se retrouve à moins de 25€ aujourd'hui. Les médias devraient en retirer une expérience....
par Un #ragoteur distrait des Pays de la Loire, le Mercredi 03 Mars 2021 à 16h48  
par Cristallix le Mercredi 03 Mars 2021 à 13h01
Vu que tu fais mumuse avec les fichiers du jeu, un petit ban n'est sûrement pas impossible mais je n'ai encore rien lu qui en apportait la certitude
C'est expliqué dans le post en anglais que ça a été fait justement pour GTA Online, à priori rien à voir avec le mode story, la news cdh est un peu trop clickbait

Il suffit de descendre un peu dans le post anglais pour constater que ça n'arrive qu'en mode online :
"Story mode load time: ~1m 10s
Online mode load time: ~6m flat"
par seb4771, le Mercredi 03 Mars 2021 à 16h45  
par Cristallix le Mercredi 03 Mars 2021 à 13h01
Vu que tu fais mumuse avec les fichiers du jeu, un petit ban n'est sûrement pas impossible mais je n'ai encore rien lu qui en apportait la certitude
C'est justement le sujet, sachant que plusieurs milliers de bans ont eu lieu JUSTE pour des skins "gratos" sans aucune modifications de fichier, là on ajoute des fonctions directement sur le jeu donc le marteau va certainement tombé.

Il va falloir choisir entre un ban ou des temps de chargement.