Connexion Premium

Path of Exile 2 : un PC complet envoyé à NVIDIA pour traquer un plantage

Grinding Gear Games, le studio de Path of Exile, a dû déployer les grands moyens pour venir à bout d’un bug gênant dans son dernier jeu. Il a tout de même fallu envoyer à NVIDIA un PC de démo pour débusquer le plantage et le corriger.

Depuis le lancement de Path of Exile 2 en accès anticipé fin 2024, le jeu souffrait d’un bug pénible : un gel de l’image, parfois assez long, suivi d’un écran de chargement. Le moteur graphique se réinitialise ensuite, et la partie reprend… mais avec des performances dégradées pendant un moment, le temps de recharger les textures et les shaders, ces petits programmes nécessaires à l’affichage des différents éléments graphiques du jeu.

À l’origine, ce bug faisait planter complètement le jeu. Les développeurs du studio ont donc mis en place une rustine pour redémarrer le moteur sans fermer le jeu. Au cours de son enquête au long cours, Grinding Gear Games a établi que le bug ne touchait que les GPU NVIDIA équipés du pilote 566.36 ou plus récent.

Pour s’assurer que NVIDIA puisse corriger le plantage, très difficile à reproduire (il était particulièrement fréquent chez les joueurs de très haut niveau, ce qui ajoutait à la frustration), le studio a donc tout simplement envoyé un PC au complet au constructeur de cartes graphiques.

« Comme le problème ne se produisait pas sur toutes les machines, nous avons décidé de prendre l’un de nos ordinateurs sur lesquels il pouvait se produire et de l’expédier à NVIDIA », explique Jonathan Rogers, directeur du jeu. « Le PC, l’écran… bon sang, nous avons même ajouté la souris et le clavier. Nous ne voulions laisser aucune variable au hasard. Nous avons mis toute cette fichue installation dans une boîte, nous la leur avons envoyée, puis nous avons attendu. »

L’attente a valu le coup, puisque NVIDIA a découvert que la mémoire réservée aux shaders était insuffisante. Pour s’en débarrasser, les joueurs peuvent télécharger la dernière mise à jour 610.88 des pilotes graphiques NVIDIA, puis laisser le temps au jeu de reconstruire le cache des shaders.

Le taux de plantages tombe à des niveaux raisonnables après la mise à jour.

Autre bug corrigé, celui qui concerne la compilation d’une partie des shaders sur l’écran de chargement, puis en arrière-plan pendant que le joueur progresse dans le niveau. Le cache de shaders du pilote NVIDIA est limité et partagé entre tous les jeux ; lorsqu’il est plein, les nouveaux shaders ne sont plus correctement conservés en mémoire et doivent être recompilés. Une opération bien plus lente.

Une version précédente du pilote graphique avait supprimé la capacité de nettoyer automatiquement les anciens shaders inutilisés. Chez les joueurs concernés, cela entraînait des chargements prolongés et des objets et des effets qui apparaissaient avec un train de retard. Les développeurs de Grinding Gear Games ont donc réduit la taille des shaders. L’installation du nouveau pilote et la mise à jour du jeu apportent un correctif, mais avant de se lancer dans la chasse aux démons, il faudra au préalable laisser le titre recompiler ses shaders.

Commentaires (15)

votre avatar
J’adore ce genre d’anecdote.
votre avatar
Funny, ce problème était connu sur les drivers nvidia sous Linux aussi, il fallait bidouiller pour allouer plus d'espace. Ce problème provoquait une régénération quasi systématique des shaders aux lancements des jeux, plutôt frustrant.
votre avatar
Il a tout de même fallu envoyer à NVIDIA un PC de démo pour débusquer le plantage et le corriger.
Encore des gens qui ont trop pris à coeur les origines de Docker.

But it works on my station 🥺

No problem, we will send it in production.
votre avatar
Tout de même étrange que cela n'ait pas été résolu par télémétrie, avec potentiellement des niveaux de débogages supplémentaires activés par options donnant plus de détails dans les journaux de plantage/d'exécution si nécessaire.

Il suffirait alors de guider les utilisateurs dans les cas les plus étranges pour fournir des journaux plus détaillés, potentiellement dans une direction donnée.
Une version précédente du pilote graphique avait supprimé la capacité de nettoyer automatiquement les anciens shaders inutilisés.
Je ne peux pas croire que NVIDIA ne puisse pas avoir pré-coché cela dans la liste des différences entre les versions les plus & les moins impactées.
Avec une télémétrie ciblée pour chaque changement majeur comme celui-ci, je ne vois que des solutions au bout du tunnel…

Devoir envoyer un PC ? Bienvenue dans les années 1990 ?
votre avatar
Je pense que c'était un bon moyen de forcer la réaction de Nvidia.
Ou alors tous les geeks cochent pour virer la télémétrie (je plaide coupable) et bim, pas de suivi 😅
votre avatar
La question est aussi, si tu arrives avec de la télémétrie, à conclure que le bug est dans le code de nVidia, est-ce que nVidia va te croire facilement ? Peut-être que oui, je ne sais pas, mais si c'est non, ça peut être plus convaincant de les laisser constater le bug eux-mêmes. 0n ne sait pas ce qui a été échangé avant l'envoi du PC, ni quelles sont les procédures de nVidia pour traiter les rapports de bugs.

Peut-être qu'ils n'ont pas pu non plus créer un code minimaliste qui reproduit le bug. Dans du code qui ne nous appartient pas, ce n'est pas parce qu'on comprend la condition première qui provoque le bug qu'on comprend toutes les conditions secondaires nécessaires mises en place avant. Surtout si une partie de ces conditions est liée au matériel.

Quant au passage que tu cites, c'est un autre problème sans rapport avec le bug, qui est cité ici car corrigé aussi dans cette nouvelle version des drivers.
votre avatar
Et du coup, c'était le seul jeu impacté ? Il poussait un peu trop le driver pour générer le plantage ? Parce que vu la description du bogue, il me semblerait logique que d'autres jeux soient aussi touchés...
votre avatar
C'est un non-événement presque du marketing
votre avatar
clairement, d'ailleurs, quand je vois une phrase dans l'article comme : " (il était particulièrement fréquent chez les joueurs de très haut niveau, ce qui ajoutait à la frustration)" ;

  1. je ne sais pas trop ce qu'est un joueur de très haut niveau,

  2. ça sent la traduction de bas niveau...

  3. façon de parler des markéteux qui veulent dire que leur jeu a été pensé pour les "harcore gamers"/joueurs pathologiques.

votre avatar
Ce n'est pas parce que tu ne sais pas que ça en fait une mauvaise traduction :non:

Littéralement les joueurs ayant un niveau très élevé et qui arpentent les contenus les plus difficiles, dans lesquels la moindre petite erreur ne pardonne pas. L'anecdote est sympa allez quoi !
votre avatar
En lisant cet article, je comprends que j'ai tres probalement fait face au probleme du 'gel' d'image dans l' 'UNIGINE Superposition Benchmark'
votre avatar
Etonnant que cela ne touche que les nVidia (à partir d'un pilote) et ni AMD ni Intel ...
votre avatar
Vu que le bug était dans le driver nVidia, ça n'a rien d'étonnant.
votre avatar
Mais pourquoi sur Path of Exile 2 seulement ? C'est clairement pas le jeu le plus gourmand en textures.
votre avatar
En texture pour les décors peut être pas, mais la quantité d'effets de particules qu'il peut y avoir, surtout quand tu joue des persos haut niveaux, ça devient vite hallucinant