Nvidia vide un dossier à chaque mise à jour de pilote : sur les jeux Unreal Engine 5, tout ce que votre carte avait appris repart de zéro

Chaque sortie de pilote Nvidia s’accompagne du même rituel invisible : la carte graphique efface sa mémoire des shaders déjà compilés. Sur les jeux tournant sous Unreal Engine 5, ça se traduit par des saccades qui reviennent brutalement après une mise à jour censée améliorer les performances. Le paradoxe est réel, et il est documenté noir sur blanc dans les forums techniques de Nvidia lui-même.

À retenir

  • Pourquoi votre jeu redevient soudainement saccadé après chaque mise à jour de pilote ?
  • Quel moteur de jeu paie le prix le plus lourd de cette purge invisible ?
  • Existe-t-il un moyen de court-circuiter ce cycle infernal des performances

Le mécanisme derrière la purge systématique

Le principe du shader cache est simple sur le papier. Quand un jeu tourne pour la première fois, le driver compile des milliers de petits programmes graphiques (les shaders) et les stocke sur le disque pour éviter de refaire ce travail à chaque lancement. Sur Nvidia, ce cache se trouve généralement dans C:\ProgramData\NVIDIA Corporation\NV_Cache, avec des dossiers complémentaires comme DXCache ou GLCache selon l’API utilisée.

Le problème, c’est que ces shaders compilés sont liés à une version précise du pilote. Différents modèles de GPU et versions de driver ont besoin de shaders compilés différemment : un shader compilé pour un driver donné pourrait ne pas fonctionner avec la version suivante. Résultat, dès qu’une nouvelle version arrive, tout ce qui a été appris repart de zéro. Un utilisateur l’a résumé sans détour sur un fil Steam consacré à Returnal : « new driver deletes shader cache, returnal thinks it doesn’t need to recompile shaders », provoquant une chute brutale du framerate après l’installation d’un nouveau pilote.

Ce n’est pas qu’une histoire d’anecdotes isolées. Sur le forum développeur officiel de Nvidia, un utilisateur a carrément ouvert un ticket technique en expliquant que le cache de shaders précompilés est nettoyé par le driver Nvidia, provoquant des saccades au lancement d’applications Vulkan, car les shaders existants sont supprimés lorsqu’ils dépassent la limite de taille du cache du driver. Le sujet est suivi en interne chez Nvidia sous deux références de bugs distinctes, preuve que ce n’est pas un fantasme de joueur énervé.

Pourquoi Unreal Engine 5 encaisse le plus gros du choc

Tous les moteurs ne réagissent pas pareil à cette purge, et UE5 fait partie des plus sensibles. La raison tient à sa gestion des PSO (Pipeline State Objects), censée justement éviter ce genre de souci. Un intervenant sur un forum spécialisé le rappelle : « le but précis du cache PSO d’Unreal Engine est d’éviter que le bégaiement de compilation de shaders ne réapparaisse après un changement de driver, en créant de véritables binaires à l’avance ». Mais dans la pratique, ce garde-fou ne tient pas toujours ses promesses.

Le même forum documente un défaut structurel du moteur : de nombreux jeux Unreal ne reconstruisent pas leur cache de shaders et de pipelines lors d’un changement de driver, ce qui entraîne des plantages attendus entre les mises à jour de driver, les mises à jour Windows qui modifient le runtime, et les grosses mises à jour Windows qui touchent au noyau. Oblivion Remastered, qui tourne sur une version récente d’UE5, a connu exactement ce scénario : stable pendant des heures, puis instable après une simple mise à jour de pilote, au point que l’auteur du témoignage note ironiquement qu’il faudrait revoir le contrôle qualité côté Nvidia.

Le cas Fortnite illustre bien l’ampleur du problème à grande échelle. Une ressource technique consacrée aux saccades post-mise à jour recommande carrément, pour ce titre UE5, de supprimer le dossier PipelineCaches et de jouer deux ou trois matchs en mode Créatif pour réchauffer les shaders, tant le pipeline de shaders DX12 d’UE5 est sensible aux changements de driver. Lords of the Fallen, également sous UE5, a connu une mésaventure encore plus frustrante : après une mise à jour de driver, le cache de shaders a été supprimé et, contrairement à d’habitude, il ne s’est pas reconstruit correctement, provoquant des saccades permanentes même après un retour à une version antérieure du pilote.

Le problème dépasse largement le seul écosystème Nvidia. Sur Gray Zone Warfare, la communauté a fini par intégrer ce comportement comme une fatalité post-mise à jour : « whenever you update your drivers it deletes all your shader cache and whatnot. The game will stutter again for a bit but it will iron itself out ». C’est presque devenu un rituel accepté plutôt qu’un bug à signaler.

Ce qu’on peut réellement y faire

La première chose à comprendre, c’est que ce comportement n’est pas un accident de parcours mais une conséquence directe de la gestion de la taille du cache. Le cache de shaders a des limites de taille : les drivers Nvidia se limitent par défaut à 10 Go, ceux d’AMD à 8 Go. Quand ce cache se remplit, le driver commence à supprimer les anciens shaders pour faire de la place aux nouveaux, et les anciens jeux se remettent à saccader. Augmenter cette limite dans le panneau de configuration Nvidia peut donc limiter la casse pour les joueurs qui alternent entre beaucoup de titres différents.

La bonne nouvelle, c’est que le mal est temporaire. Comme le résume une ressource dédiée au diagnostic des saccades : pourquoi mon jeu saccade-t-il après chaque mise à jour de driver ? Parce que les mises à jour invalident tous les shaders compilés, donc chaque jeu recompile au lancement suivant. Une session de rodage par jeu est normale ; des saccades persistantes au-delà, c’est là qu’il faut vider le cache manuellement. Concrètement, il vaut mieux laisser tourner le jeu une bonne demi-heure après chaque mise à jour de pilote avant de crier au scandale, plutôt que de désinstaller frénétiquement ses drivers.

Reste une nuance que peu de joueurs connaissent : Nvidia sort régulièrement des « Game Ready Drivers » qui embarquent justement des caches de shaders précompilés pour les titres les plus attendus au moment de leur sortie. Ces drivers day-one incluent des fichiers de cache de shaders précompilés qui peuvent réduire drastiquement le temps de compilation et les saccades pour les jeux supportés. la même mécanique qui casse le cache existant sert aussi, parfois, à en fournir un tout neuf gratuitement, à condition que le studio ait collaboré avec Nvidia en amont de la sortie.