Pourquoi vous devez dépenser plus sur un PC pour jouer que sur une console

Votre ancienne console d'il y a des années exécute certains jeux bien mieux que votre PC plus récent et plus moderne. Pourquoi cela arrive-t-il? C'est pourquoi nous allons vous présenter le concept de Tirage au sort, qui a à voir avec la mauvaise optimisation des jeux informatiques par rapport à d'autres systèmes. Et quelle est la raison de cette tendance générale ?

Aujourd'hui, de nombreux jeux vidéo sont en monde ouvert, cela signifie qu'au lieu d'avoir une série de parties que nous devons surmonter séquentiellement, nous avons une carte unifiée où plusieurs choses se produisent en même temps. Devoir calculer tous les éléments en même temps conduirait à étouffer le processeur central. Ainsi, la carte, bien qu'unifiée, est divisée en petites sections avec un écran de chargement où ou une cinématique au milieu. Ce qui permet à notre processeur de charger uniquement ce qui se trouve dans cette zone et de supprimer le reste des éléments. Cependant, il y a souvent des optimisations, elles ne sont pas bien faites.

Pourquoi faut-il dépenser plus sur un PC pour jouer que sur une console

Qu'est-ce qu'un Draw Call et comment affecte-t-il les performances de jeu ?

Le problème est que le Processeur n'a pas de concept visuel de ce qui est vu et de ce qui n'est pas vu, il a simplement une liste d'objets dont il doit résoudre leur interaction avec le reste d'une image à l'autre. Pour chaque objet mis en scène, ce qui est fait est ce qu'on appelle un Appel au tirage au sort. Autrement dit, utilisez une API graphique tels que DirectX, OpenGL ou Vulkan pour que la carte graphique dessine ledit objet sur la scène . Ainsi, la génération de graphiques de jeu commence toujours dans le processeur central.

Lots d'appels de dessin d'instances

Afin de réduire les coûts, ce qui est fait aujourd'hui, c'est que chaque Draw Call se réfère à "un groupe de polygones qui partagent les mêmes propriétés". Grâce à cela, si par exemple nous avons besoin de dessiner l'herbe d'un pré, nous n'avons pas besoin d'un appel au GPU via API pour chaque brin d'herbe, mais nous pouvons l'unifier. C'est ce qu'on appelle des lots ou emballés en espagnol. Le fait de les unifier en un seul groupe a du sens, car ce n'est pas la même chose d'attendre plusieurs envois à la suite où le processeur doit s'arrêter pour chacun d'eux et les envoyer au GPU, que de faire un seul envoi et oublié.

Par exemple, dans l'image de cette section, nous pouvons voir un grand nombre de boules qui utilisent la même modélisation, mais des couleurs différentes. On peut faire à chacun d'eux un appel à l'API graphique, que tous soient d'une couleur, ou les regrouper tous dans un seul post.

Comment l'utilisation d'une API graphique ou autre influence-t-elle ?

Si un processeur doit effectuer de nombreux appels de tirage, la meilleure solution consiste à prendre et à répartir le travail entre plusieurs cœurs. Cependant, cela n'est pas possible, car la liste de tirage créée par la CPU n'est qu'une. Comment réduire le surcoût ? Supprimez tous les appels système qui peuvent fonctionner indépendamment du dessin de la scène et placez-les dans des listes séparées. Cela signifie qu'ils peuvent être portés par différents noyaux. Cependant, la liste d'affichage fonctionnera toujours sur le même noyau.

API d'appel de tirage Asincrono

Le fait de séparer les graphiques et l'informatique en deux parties différentes est quelque chose que nous avons vu dans DirectX 12 et Vulkan. Si le jeu tourne en mode DirectX 11 ou antérieur, ou bien en OpenGL. Ainsi, la quantité de Draw Call sera plus élevée, même si une grande partie sera destinée au calcul et non aux graphiques. À un niveau simpliste, ce ne sont rien de plus que des appels à la carte graphique pour effectuer une série de calculs. Mais c'est important pour réduire le nombre d'appels au graphique, car selon le type de système sur lequel le jeu tourne, la quantité de Draw Call peut être un problème pour ses performances.

Le Draw Call et la carte graphique

En règle générale, c'est l'unité DMA à l'intérieur du GPU qui copie les listes d'affichage du système RAM à la RAM de la carte graphique (VRAM) à l'aide de l'interface PCI Express. Cependant, Resizable BAR permet au processeur central de faire le contraire, en envoyant les données directement au graphique. Cependant, l'idéal serait un modèle de mémoire unifié pour l'accès, mais nous n'avons pas cela sur PC ou consoles aujourd'hui.

Abattage

L'une des choses que la carte graphique doit faire est de déterminer la visibilité des objets, cela signifie qu'elle doit éliminer tous les objets qui ne sont pas vus dans ce cadre. C'est-à-dire : celles qui sont trop éloignées, celles qui sont hors champ ou celles qui sont couvertes par d'autres objets plus gros. Le processeur central ne sait pas si ces objets remplissent ces conditions ou non, il sait simplement qu'ils sont sur place et le GPU de la carte graphique se chargera d'effectuer le processus de mise au rebut.

Pourquoi sur PC les jeux semblent moins optimisés ?

En règle générale, si la fréquence d'images est suffisamment élevée, les développeurs de jeux ne s'inquiéteront pas si le numéro d'appel du tirage est trop élevé. C'est un problème sur PC, car le matériel évolue constamment et a tendance à manquer d'optimisation. Sur les consoles, on a tendance à réduire le nombre d'appels d'API afin de maintenir une fréquence d'images élevée et stable.

gameplay résident mal 2 remake 4k 60 fps

Curieusement, les jeux les mieux optimisés à cet égard sont les jeux en tant que service, bien que pas tous, la raison en est qu'ils sont basés sur la possibilité de jouer gratuitement et sont financés par des paiements sporadiques de leurs utilisateurs. Pour ceux-ci, il est extrêmement important d'avoir la plus grande part de marché possible. Ce qui a conduit à une domination de cette classe de titres sur le marché. Simple et simple, la plupart du public peut les exécuter sans problème. En revanche, les jeux à forte charge graphique du fait d'une optimisation minable sur PC peuvent nécessiter deux fois plus de puissance que sur console pour offrir la même qualité.

Ce n'est pas quelque chose qui arrive aussi sur PC, puisqu'il se pourrait qu'un studio chargé de convertir un jeu vers une console spécifique tombe dans le même problème de manque d'optimisation. Donc, en fin de compte, une grande partie du blâme pour que ce jeu ne fonctionne pas bien sur votre ordinateur est humaine et non le matériel dont vous disposez.

Réalité

Une fois les raisons techniques expliquées, il faut parler des politiciens qui influencent bien plus qu'on ne le pense. Les fabricants de consoles ont des départements de qualité qui testent les jeux pour leurs consoles et vérifient qu'ils fonctionnent correctement. Cependant, lorsqu'un titre est très important, cela conduit à une course contre la montre qui se traduit par des correctifs du jour 1 et même des catastrophes comme Cyberpunk 2077.

Cela n'existe pas sur PC, ni Epic Store ni Valve avec Steam avoir un processus qualité qui certifie que les jeux sont bien optimisés. Vous ne pouvez pas non plus avec la pléthore de configurations matérielles différentes sur le marché. Pourquoi s'inquiéter que le PC d'aujourd'hui ne fasse pas bien tourner un jeu alors que demain le fera ?