Jouer avec le GPU de sa carte graphique

asrax

Aventurier
30 Septembre 2023
1
0
1
23
Bonjour, mon problème est que lorsque je lance un gros modpack sur curseforge, le GPU utilisé est celui de mon processeur (ryzen7 5800x) et non celui de ma carte graphique (rx 6750xt). le problème intervient que sur de gros modpack car si je lance par exemple RL craft c'est ma carte graphique qui est utilisée. autre chose intrigante c'est que par moment ( 2 ou 3 seul fois et pendant 30s) ma carte graphique à été utilisée (le jeu fonctionnait correctement avec 120fps) avant que mon pc switch sur mon processeur rendant inapte le jeu (1fps). Je m'en remet à vous pour résoudre mon problème.
1696091047177.png
 

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 892
158
3 004
347
26
Alsace
www.minecraftforgefrance.fr
Bonsoir,
Ce n'est pas exactement comme ça qu'un ordinateur fonctionne, le pc "ne switch pas" sur le processeur à la place la carte graphique.
Les instructions d'un programme s'exécutent forcément sur le processeur, c'est lui qui décode les instructions, puis les interprète, pour obtenir le résultat.
Dans un programme, il peut y avoir des instructions qui demandent au processeur d'envoyer une tâche spécifique à la puce graphique, à travers une API comme OpenGL, Vulkan, DirectX, Metal, etc. Dans le cas de Minecraft, c'est l'API OpenGL qui est utilisé.
Les instructions conçues pour s'exécuter sur le processeur vont forcément s'exécuter sur le processeur (la carte graphique est incapable de les comprendre et les traiter), et les instructions conçues pour la carte graphique vont forcément s'exécuter sur le GPU, après que le processeur les lui a envoyé. Mais le processeur ne va jamais exécuter ces instructions à la place du GPU, car il ne le comprend pas non plus (le GPU et le CPU ne parlent pas les mêmes langages)
En réalité, il existe bien des cas où le processeur peut faire le travail du GPU, dans le cas où un émulateur est installé. C'est notamment le cas du pilote llvmpipe de mesa sous Linux, qui prend le relai dans le cas où l'accélération 3D par le GPU est manquante. Et les performances sont très mauvaise, car le processeur n'est pas spécialisé de la même manière qu'un GPU).
Parfois, les mauvaises performances en jeu viennent du fait que le jeu utilise le GPU intégré au processeur au lieu du GPU dédié, mais ce n'est pas ton cas : ton ryzen7 5800x n'a pas de GPU intégré. Si c'était le cas, tu aurais dans le gestionnaire des tâches un GPU 0 et un GPU 1, le GPU 0 correspondants à la puce intégrée au processeur et le GPU 1 à la carte dédié. On retrouve ces configurations sur les pc portables.

Alors la question est, mais pourquoi donc la carte graphique dédiée se tourne les pouces pendant que le cpu est au maximum (sur certains cœurs, mais la vue globale le masque en faisant la moyenne de tous) ?
En fait la clé de l'explication est que comme je l'ai expliqué, les instructions envoyées à la carte graphique doivent d'abord passer par le processeur, donc si celui-ci sature, la carte graphique ne reçoit plus assez vite des instructions à exécuter. Ton jeu est ce qu'on appel "CPU limited".
Et donc pour régler le problème, il faut trouver pourquoi ton jeu est CPU limited.

Tout ça pour en arriver à la question suivante : à quel moment processeur sature ? Déjà au lancement du jeu ? Dans les menus ? Une fois un monde chargé ? Un monde spécifique ou n'importe quel monde ? N'importe quel endroit du monde ou certains endroits spécifiques ?
Si le problème est en jeu, il est possible de générer des timings pour voir quels éléments utilise le plus de temps processeur.