|
Stilgars@Toronto a écrit a écrit :
C'est extremement simpliste ce que tu dis. A ton avis pourquoi il n'y a t il aucune augm de perfs lorsqu'on passe de l'AGP2x => 4X, alors que la vitesse de ce "goulot d'etranglement" double pourtant ?
parce que les textures sont stockees en VRAM sur un PC et le bus AGP n'est alors pas utilise, ou tout du moins en dernier recours.
Ce que je veux faire comprendre, c'est lors d'un loading d'un level de jeu X box sous un hypothetique emulateur, tout sera charge en VRAM.
|
Il ne s'agit pas de textures mais de polygones. Dans le cadre du T&L le GPU ne prend en charge que la transformation des polygones. Le cacul des sommets des polygones se fait toujours par le CPU et sur des jeux nécessitant des centaines de milliers de polygones la communication entre CPU et GPU est primordiale. Je cite Marc dans un de ses articles :
"Introduit avec le GeForce256 de NVIDIA à la rentrée 1999, le Transformation & Lighting permet comme vous le savez déjà aux développeurs de disposer de plus de puissance pour animer des objets à la structure géométrique plus détaillée. Combiné à la formidable montée en puissance des CPU, le T&L permet de ce fait d?animer des scènes disposant de centaines de milliers de triangles. Les objets sont donc plus détaillés, ce qui permet également d?avoir un éclairage plus précis. Seul problème, si les cartes graphiques modernes disposent d?une bande passante pouvant supporter une telle quantité d?information, ce n?est ni le cas de la mémoire centrale, ni le cas de notre bus AGP, qui n?est pas encore passé à la norme 8x. En effet, si l?on prend une scène composée de 100 000 triangles, chacun composé de 3 sommets (vertices) pesant en moyenne 50 octets, cela fait 14.3 Mo d?informations géométriques par image. A 60 fps, 858 Mo /s doivent donc passer par le bus AGP uniquement pour ces informations. Avec un bus AGP offrant une bande passante théorique maximale de 1 Go /s, on sera donc vite limité. "
Il existe des moyens bien sur de contourner le problème : le HOS (Truforme chez Ati) "Pour faire simple, alors qu?un triangle traditionnel n?est composé que de trois vertices (sommets), un N-Patches est composé de trois vertices et d?une normale pour chacun de ces vertices. Ces normales permettent au GPU de transformer la surface plane en surface courbe via l?utilisation des courbes de Bezier. L?économie en bande passante AGP est évidente. En effet, grâce au N-Patches les informations géométriques à envoyer au GPU sont beaucoup moins lourdes que si l?on envoyait un nombre de triangles offrant une qualité équivalente. En effet, il suffit de transmettre au GPU les N-Patches, puis de lui indiquer un niveau de Tesselation (phase qui consiste en fait à transformer les N-Patches en un nombre plus ou moins importants de triangles traditionnels) plus ou moins important, selon la qualité désirée."
Pour autant le bus AGP reste un élément limitatif dans les PC actuels et si tu ne l'as pas constaté jusqu'aujourd'hui c'est parceque le T&L n'a jamais été utilisé pleinement. AUjourd'hui il est implanté pour décharger le CPU mais sa véritable utilité c'est de multiplier les polygones dans une scène 3D. Un jeu comme Unreal2 devrait être le 1er à utiliser massivement et à sa juste valeur le T&L classique (et pas les vertex shaders ceci dit en passant) et là nous verrons si le bus AGP n'est pas le "maillon faible". :D |