Cette nouvelle astuce GPU AMD vient de rendre les jeux 1,64 fois plus rapides

Cette nouvelle astuce GPU AMD vient de rendre les jeux 1,64 fois plus rapides

L’un des plus gros inconvénients de la façon dont les jeux restituent actuellement les scènes 3D est qu’il existe encore une quantité surprenante de communications aller-retour requises entre le CPU et le GPU. Cette surcharge peut ralentir le traitement de la carte graphique de multiples manières. Cependant, une nouvelle technique démontrée par DMLA a réussi à réduire considérablement ce phénomène, en multipliant les performances par 1,64 sans aucune puissance de traitement supplémentaire requise.

La technique a été démontrée sur une AMD Radeon RX 7900 XTX, la meilleure carte graphique que vous puissiez actuellement acheter pour les charges de travail sans lancer de rayons, mais cette technique ne nécessite pas un GPU aussi haut de gamme. En tant que tel, les performances pourraient augmenter dans de nombreux jeux pour une multitude de GPU.

Cette avancée concerne le fait que dans de nombreuses charges de travail, un calcul initial peut être effectué sur le GPU qui détermine ensuite que certains travaux ultérieurs doivent également être effectués sur le GPU. Cependant, dans la configuration de charge de travail GPU existante, ce travail ultérieur doit être déclenché par le CPU, donc un petit aller-retour est nécessaire du GPU au CPU et vice-versa (souvent en utilisant la commande ExecuteIndirect dans D3D12 de DirectX). Ceci est à la fois inefficace et lent, par rapport au fait que le GPU est simplement capable de gérer l’ensemble du processus lui-même.

Une première solution de contournement a été proposée il y a quelques années, avec une configuration appelée work graphs. Les graphiques de travail permettent à un développeur de définir tout un cadre interdépendant de fonctions possibles et d’étapes suivantes, de sorte que le GPU sache quelle fonction exécuter ensuite sans avoir à accéder au CPU.

La démo d’aujourd’hui est donc une extension des graphiques de travail appelés nœuds de maillage. Comme le dit Matthäus Chajdas d’AMD sur le blog AMD OpenGPU, « les nœuds de maillage… permettent à un graphique de travail d’alimenter directement un shader de maillage, transformant le graphique de travail lui-même en un shader d’amplification sous stéroïdes. »

Vous n’avez pas compris tout ça ? Eh bien, en substance, cela permet à ces cadres de graphes de travail intelligents de déclencher directement des shaders de maillage, qui sont les programmes utilisés pour générer à la volée le terrain du jeu. Il s’agit d’un cas d’utilisation assez spécifique de la configuration du work graph, mais AMD démontre sa puissance avec une démo qui génère de manière procédurale des centaines d’éléments (comme le lierre illustré ci-dessus : la gauche est avec moins généré, la droite est avec plus), le tout en utilisant une seule initiale. envoyer un appel au GPU. En conséquence, dans cette démo, AMD a pu mesurer que la méthode traditionnellement ExecuteIndirect était 1,64 fois plus lente que le système de nœuds maillés. Vous pouvez voir la démo vidéo sur le blog d’AMD lié ci-dessus.

Graphique de travail du nœud de maillage amd Démo GDC 02

Qu’est-ce que tout cela signifie pour les jeux actuels et futurs ? Eh bien, ce n’est qu’une technique supplémentaire à laquelle les développeurs peuvent faire appel pour essayer d’améliorer les performances de nos jeux. On ne sait pas vraiment dans quelle mesure une technique comme celle-ci affecterait la fréquence d’images, mais en libérant les ressources système en général – et les ressources CPU en particulier – il est possible d’améliorer les performances grâce à la libération d’autres goulots d’étranglement du système.

Source-74