Accueil » Dossier » Quelle utilisation de DirectCompute dans les jeux ? » Page 3

Quelle utilisation de DirectCompute dans les jeux ?

1 : Introduction 2 : DirectCompute : utile pour l’Ambient Occlusion 4 : Benchmarks : Battlefield 3 5 : Benchmarks (suite) et configuration de test 6 : Battlefield 3 en 1920x1080 7 : Battlefield 3 en 1280x768 8 : DiRT 3 9 : Metro 2033 10 : Civilization V 11 : Conclusion

Ambient Occlusion (suite)

L’occlusion ambiante peut également être réalisée à l’aide de pixel shaders, plutôt que via DirectCompute ; les développeurs ont le choix de la méthode. Nous devons avouer qu’avant d’écrire cet article, nous ne savions pas vraiment pourquoi l’API de Microsoft aurait pu être préférable. Nous avions en effet vu suffisamment de benchmarks pour savoir que les effets calculés via DirectCompute avaient fortement tendance à réduire les performances graphiques. Utiliser le calcul GPGPU pour exécuter une fonctionnalité qu’on ne peut obtenir autrement est une chose, mais pourquoi opter pour cette solution alors que les shaders permettent déjà de faire le travail.

Pour commencer, il faut savoir que DirectCompute n’a en réalité pas plus d’impact sur les performances que les pixel shaders. « Pour chaque pixel nécessitant le calcul de la valeur d’occlusion, il faut lire plusieurs fois la texture de profondeur », nous explique Gareth Thomas. Avec un pixel shader, chaque lecture de texture coûte plusieurs cycles de calcul. Avec un shader GPGPU, on remplit le LDS (Local Data Share) avec la valeur ‘profondeur des éléments proches’ de la texture de profondeur et les lectures suivantes coûtent nettement moins de cycles qu’une extraction de texture. »

Image 1 : Quelle utilisation de DirectCompute dans les jeux ?

Dans cet article, nous souhaitons revenir à la question du calcul hétérogène et à la capacité du matériel actuel à traiter les tâches de ce type. Que vaut un APU par rapport à un processeur couplé à une carte graphique PCI Express ? Sachant que les APU stockent les textures en mémoire système, qui est partagée, est-ce que cela représente un handicap ou au contraire un avantage (en raison de la proximité de la partie processeur) ?

Image 2 : Quelle utilisation de DirectCompute dans les jeux ?

Image 3 : Quelle utilisation de DirectCompute dans les jeux ?

« La HDAO ne nécessite qu’une seule valeur d’entrée : la profondeur de scène », continue Gareth Thomas. Il faut d’abord procéder au rendu, mais en pratique la plupart des jeux ont déjà cette information à disposition, soit dans le g-buffer (NLDR : tampon de géométrie), soit en raison d’un pré-passe de profondeur. Le buffer de profondeur est une ressource stockée dans la mémoire vidéo ; par conséquent, la mise en œuvre de la HDAO ne diffère pas entre un APU et un GPU.Il s’agit d’une technique très économe en mémoire, car ses seuls besoins supplémentaires consistent en une texture de sortie.C’est une des raisons pour lesquelles elle est de plus en plus populaire. »

Cette économie se vérifie dans nos benchmarks, et il convient de le préciser dès le départ. Vous allez voir dans les graphiques consacrés aux performances de Battlefield 3 que l’APU ne parvient à générer qu’un framerate moyen de l’ordre de 14 images/s lorsque la HBAO (Horizon-Based Ambient Occlusion) est activée, ce qui est totalement injouable.Étant donné qu’avec la Radeon HD 7970, les résultats sont plus de 8 fois supérieurs, il serait naturel de penser que l’APU n’est pas capable de traiter la charge de travail engendrée par DirectCompute ; ce serait toutefois oublier que lorsque la HBAO est désactivée, il ne grimpe qu’à 16,6 images/s.

Battlefield 3 est un titre tellement exigeant que le moteur graphique de l’APU n’est pas en mesure de lui faire honneur. L’architecture hétérogène de la puce n’est pas en cause ; il faut simplement du matériel plus puissant.

Sommaire :

  1. Introduction
  2. DirectCompute : utile pour l’Ambient Occlusion
  3. Ambient Occlusion (suite)
  4. Benchmarks : Battlefield 3
  5. Benchmarks (suite) et configuration de test
  6. Battlefield 3 en 1920x1080
  7. Battlefield 3 en 1280x768
  8. DiRT 3
  9. Metro 2033
  10. Civilization V
  11. Conclusion