Il y a toujours ce jeu qui hésite à fonctionner comme prévu sur du matériel plus récent, que ce soit la résolution, la fréquence d’images ou un mélange des deux. Et pas parce que c’est une merveille technique, mais parce qu’il a une terrible optimisation en ce qui concerne l’utilisation des ressources matérielles, en particulier le GPU.
Sommaire
Il existe de nombreuses raisons pour lesquelles certains jeux vidéo sont mal optimisés et le GPU surutilisé, bien qu’il ne s’agisse pas plus d’un problème matériel mais d’un problème logiciel et de la façon dont il utilise le matériel. Souvent, le fait que le code d’un programme fonctionne ne signifie pas qu’il est bien écrit et donc correct, ce qui entraîne des problèmes de performances bien que cela ne fonctionne pas.
En d’autres termes, il existe des jeux qui fonctionnent apparemment parfaitement, mais qui utilisent très mal les ressources matérielles. Les causes les plus courantes qui y conduisent? Principalement trois, dont nous vous parlerons ci-dessous.
Les indicateurs de performance sont un type d’outil utilisé dans le développement. Ces programmes indiquent le niveau d’utilisation du matériel pendant que le jeu est en cours d’exécution. Permettre l’optimisation en réduisant la charge de travail dans les parties du GPU où elles sont saturées d’une part, et d’autre part en donnant la possibilité d’utiliser encore plus de pièces avec moins de charge.
Lorsque AMD et NVIDIA publient de nouveaux pilotes avec des profils optimisés, ils ajustent en fait les options graphiques du jeu aux options les plus appropriées pour chacune des cartes graphiques à des fins d’optimisation. Mais cela ne se fait pas avec les anciens jeux mais avec les plus récents. La raison se comprend aisément, ils veulent profiter du «Momentum» de chaque jeu pour vendre leurs cartes graphiques aujourd’hui.
L’utilisation d’outils d’optimisation est importante pour tirer le meilleur parti de vos jeux, mais dans certains cas, ils sont relativement nouveaux et nous pouvons trouver des jeux plus anciens sans ces optimisations et avec des goulots d’étranglement dans certaines parties du pipeline graphique qui les empêchent de s’adapter correctement.
Les consoles actuelles, à l’exception de la Nintendo Switch, sont basées sur la même technologie que le PC, donc contrairement à ce qui s’est passé il y a des années lorsqu’une conversion vers un PC nécessitait beaucoup de réécriture de code. . À ce jour, une bonne partie des jeux PC sont portés à partir de la console avec presque aucune optimisation.
La chose est aggravée si l’on considère que Microsoft avec ses consoles, Xbox Series S et Xbox Series X, utilise la même API que sur PC, DirectX 12 Ultimate. Ce qui signifie qu’aucune des trois plates-formes ne bénéficie d’un matériel au même niveau, car il ne permet pas d’optimisations de code spécifiques sur les PC et les consoles.
D’un autre côté, nous avons des cas dans lesquels les jeux, étant des ports directs de la version console, optimisés pour AMD, finissent par être moins performants que prévu sur des cartes graphiques dotées de GPU NVIDIA. Surtout pour optimiser le code des programmes de shader exécutés par le GPU.
L’un des facteurs communs à de nombreux jeux mal optimisés est lié à la communication CPU ↔ GPU, pour cela il faut préciser qu’il s’agit de «bundles». Vous devez comprendre qu’un GPU fait vraiment plus que suivre les ordres que le CPU génère à travers une série de listes de commandes. Tous les moteurs graphiques utilisés par les jeux génèrent ces listes d’écrans, qui indiquent au GPU comment rendre les choses à l’écran.
Pour une meilleure optimisation, il est préférable de minimiser la quantité d’envois vers le GPU, cela se fait en créant des listes d’écrans avec un nombre suffisant de choses à faire. Si les listes d’écrans sont courtes et que le nombre de «lots» envoyés est donc très faible, alors le GPU passera beaucoup à attendre que de nouvelles choses soient faites, ce qui entraînera des temps d’arrêt et une mauvaise utilisation des ressources. de ce matériau.
Les «lots» ne sont pas non plus les listes d’écrans, mais aussi les données qui sont copiées du stockage vers la RAM et de la RAM vers la VRAM. Lors de la copie, la VRAM ne peut pas être utilisée par le GPU à moins qu’il n’y ait plusieurs canaux de mémoire, limitant ainsi les performances.