Sélectionner une page
Depuis 1998, le port AGP s’est imposé comme étant la solution de connexion de la carte graphique. Grâce à ce bus dédié, la carte graphique peut accéder à la mémoire centrale pour y stocker des textures et les traiter, ce que ne permettait pas le bus PCI. En effet, ce dernier est non seulement limité à 132Mo/s mais cette bande passante doit être répartie entre tous les périphériques PCI : disque dur, carte son, etc. Si en 1998 les cartes graphiques étaient limitées à 8Mo de mémoire, les cartes d’aujourd’hui disposent de 8 à 16x plus. L’AGP a-t-il tenu ses promesses ? C’est ce que nous allons vérifier en comparant les performances d’une Hercules 3D Prophet 9000 64Mo PCI à une ATI Radeon 9000 64Mo AGP…

PCI universel

Le bus PCI est né de la vocation de remplacer l’antique bus ISA et les travaux préliminaires datent de 1992. Le PCI se veut universel et standard. Les améliorations apportées par le PCI visent à exploiter de manière optimale Windows et OS/2. Le PCI ”classique” apporte de nombreux avantages : une largeur de bus de 32bits, une fréquence de 33MHz et le support du plug’n’play. Il est supporté par de très nombreuses plateformes et permet la connexion de nombreux types de périphériques : modem, réseau, carte son, contrôleur SCSI, carte graphique, etc. Le bus PCI se connecte au chipset et les données sont envoyées par le processeur vers les autres composants à l’exception de la mémoire finissent tous par y transiter. Mais bien d’autres déclinaisons existent comme le PCI-64bits ainsi que des fréquences de fonctionnement plus élevées de 66MHz et même 133MHz…

AGP exclusif…

Le PCI étant générique, il peut faire beaucoup de choses de manière correcte mais ne peut réaliser une tâche dédiée de manière optimale. Courant 1997, l’arrivée de la 3D a rapidement fait croître le volume de données à transférer. En effet, l’environnement sonore a évolué mais surtout la complexité des scènes virtuelles en 3D. Les 132Mo/s du bus PCI ont rapidement constitué un goulot d’étranglement très important. Il a donc fallu créer un port uniquement dédié à la carte graphique. Ce port devait offrir des taux de transferts largement plus importants et se montrer évolutif. Après un premier essai (AGP 1x), la norme Accelerated Graphic Port 2.0 est établie en 1998. Le concept de l’AGP est simple, les textures sont chargées depuis le disque dur dans la mémoire centrale et peuvent être directement accessibles au processeur graphique sans interventions du processeur central. En PCI, les textures devaient être lues sur le disque dur au fur et à mesure avant d’aller dans la mémoire centrale et/ou dans la carte graphique le tout sous contrôle partiel du processeur. ”Réduire les coûts en transférant les données dans la mémoire centrale est la motivation prmière du concept AGP” dixit la documentation de 260 pages sur la norme…
L’AGP Memory Allocation permet d’ouvrir via le GART (Graphics Address Remapping Table), une fenêtre dans la mémoire centrale accessible à la carte graphique. La taille de cet espace est définie dans le setup du bios par le fameux AGP Apperture size.
L’AGP Texturing permet de traiter les textures dans la mémoire centrale comme si elles étaient physiquement dans la mémoire graphique. En d’autres mots, l’AGP sert à utiliser la mémoire centrale comme un complément de la mémoire graphique. Il est dès lors aisé de comprendre l’intérêt de l’augmentation de bande passante des différentes révisions AGP. Pour exploiter le complément de mémoire ”distant”, le SBA pour Side Band Adressing (8bits de complément aux 32bits du bus) permet de séparer les données des commandes, une sorte de parallélisation… Le Fast Write sert grosso modo à assurer que l’AGP fonctionne bien à plein régime et à autoriser les débit en peak.

AGP specs

L’AGP 1x est un bus de 32bits travaillant à 66MHz pour un taux de transfert de 266Mo/s (en considérant 2^10 comme 1000 et non 1024). Le mode AGP 2x est de type DDR, ce qui double de taux de transfert 533Mo/s. En AGP 4x, le mode de transfert est QDR pour un taux de transfert de 1066Mo/s. Bien que l’AGP 8x soit une suite logique, il a demandé une révision plus importante de la norme. Certaines fonctionnalités ont été abandonnées : plus de support du 3,3v par exemple, plus de compatibilité avec les cartes AGP 1x et 2x. Le principe de montée en puissance reste le même : entre l’AGP 4x et l’AGP 8x, le signal double et passe de quadruple à octuple !
AGP 2.0 1x = 66 000 000 x 32 x 1 (SDR) / 8 / 1024 / 1024 = 251Mo/s
AGP 3.0 8x = 66 000 000 x 32 x 8 (ODR) / 8 / 1023 / 1024 = 2104Mo/s

Et les développeurs ?

Que vaut le hardware sans le software ? Pas grand chose ! Les constructeurs de chipsets et de processeurs graphiques se chargent de produire le hardware et le software nécessaire pour répondre aux spécifications AGP et à celles de l’OS (pilotes qui activeront ou non des fonctions comme le SBA ou le Fast Write). De leur côté, les développeurs de jeux vidéos et autres applications 3D sont libres de faire ou non usage de telle ou telle fonction. Cette liberté inclut le choix d’exploiter ou non les possibilités exclusives offertes par le bus AGP (AGP Texturing et AGP Memory Allocation). Bien entendu, les constructeurs ne sont pas prolixes et gardent jalousement les secrets de leurs drivers. Les développeurs ne sont guère plus volubiles sur le fonctionnement de leur moteur 3D. Bref, il n’est pas franchement possible de savoir qui fait exactement quoi et comment ! Toutefois, la tendance générale est de ne pas exploiter l’AGP autrement que comme une large porte pour envoyer les données dans la carte graphique… Nous n’évoquerons même pas les problèmes liés à l’emploi des shaders et aux volumes de données qui doivent être échangés entre le CPU et le GPU/VPU pour leur exploitation. Hormis le fait de savoir que ces fonctionnalités sont des ogres de bande passante, les informations sur leur gestion (qui dépend du chip graphique, du pilote et du moteur 3D) est un savoureux cocktail d’inconnues ! Pas de pdf pour expliquer le tout…

ATI Radeon 9000 AGP 64Mo

Nous avons pris pour référence la Radeon 9000 AGP conçue par ATI. La carte, assez compacte, est équipée de 64Mo de DDR travaillant à 200MHz et d’un GPU à 250MHz. Elle dispose des connecteurs DVI, TV-out et VGA. La carte dispose d’un système de refroidissement actif mais pourrait très bien se contenter d’un simple radiateur passif…


Hercules 3D Prophet 9000 64Mo PCI

Aussi curieux que cela puisse paraître, Hercules commercialise la déclinaison PCI du Radeon 9000. Comme son cousin AGP, le modèle PCI répond aux mêmes spécifications techniques : GPU à 250MHz et mémoire DDR à 200Mhz. La configuration est donc parfaite pour confronter l’AGP et le PCI ! La 3D Prophet 9000 PCI est une très grande carte afin d’utiliser un PCB peu complexe. Le système de refroidissement est de type passif.
Le bundle d’Hercules est assez réduit. Seuls Power DVD XP et un adaptateur DVI -> VGA sont livrés.

Configuration de tests

Nous avons installé les deux cartes tour à tour dans sur une Asus P4C800 équipée d’un Pentium 4 3,2GHz ES et nous avons réalisé les tests à 16 x 100MHz pour simuler une configuration peu puissante et à 16 x 200MHz (puissance maximale) afin d’étudier une éventuelle dépendance processeur de nos scores.
Matériel et drivers

  • Asus P4C800
  • Intel Pentium 4 1,6 et 3,20 GHz ES
  • 2 x 256Mo DDR400 Corsair TwinX
  • Maxtor Diamond Max Plus 8 40Go
  • Ecran IIyama Vison Master 403 (synchronisation verticale toujours désactivée)
  • ATI Radeon 9000 AGP 64Mo et Hercules 3D Prophet 9000 PCI 64Mo (Catalyst 3.6)

    Logiciel

  • Windows XP français + DirectX 9.0a
  • Unreal Tournament 2003 (1024x768x32)
  • Serious Sam 2 (1024x768x32)
  • Comanche 4 (1024x768x32)
  • Code Creature (1024x768x32)
  • Aquamark (1024x768x32)
  • Quake III (1024x768x32)
  • 3D Mark 2003

    Performances

    UT 2003 est très intéressant. Dans la partie Fly By qui ne demande que du calcul graphique (peu de travail processeur), les scores sont comparables. En effet, la partie Fly By est essentiellement constituée de plaquage et de traitement de textures capables de tenir dans la mémoire embarquée des cartes. En Bot Match par contre, le processeur est mis à forte contribution comme le montre le gain lors du passage de 1,6GHz à 3,2GHz avec la carte AGP. En PCI, le bus est totalement saturé par les données à traiter et les performances sont insuffisantes pour jouer.

    Serious Sam 2 est un jeu plus vieux et moins complexe au niveau 3D. Du coup, les performances entre la carte AGP et le modèle PCI évoluent de manière comparable avec la montée en puissance du processeur central. Le jeu est parfaitement utilisable même avec la 3D Prophet PCI.

    Comanche 4 est très dépendant du processeur. L’utilisation de shaders et le besoin de transférer de nombreuses données entre le processeur central et le GPU bride les performances de la carte PCI. Avec un petit processeur, l’écart est faible (moins de 5%) mais atteint 40% sur le Pentium 4 3,2GHz.

    Code Creature a absolument besoin des fonctions AGP pour fonctionner. Il ne démarre même pas sur la carte PCI…

    Aquamark peut ici être comparé à Comanche 4. L’emploi de shaders limite directement la carte PCI qui est 33% plus lente que sa cousine AGP et ce indépendamment du processeur central.

    Quake III est très vieux moteur mais comme Serious Sam 2, il illustre les limitations inhérentes au bus PCI. Avec le petit processeur, l’écart est de 25% pour se réduire à quelques pourcents sur le Pentium 4 3,2GHz (les cartes ne suivent plus le processeur).

    Quelques scores issus des jeux DirectX 7 et 8 du 3D Mark 2003 confirment nos hypothèses. Dans Wings (DX7), la carte PCI s’en sort bien. Dans les scènes DX8, les écarts relatifs sont plus importants à cause de l’emploi de shaders. Quoi qu’il en soit, aucun de ces ”jeux” ne serait utilisable !

    Pour en finir, le score 3D Mark 2001 permet d’illustrer globalement l’écart entre les versions AGP et PCI : de 8% sur le Pentium 4 1,6GHz, il grimpe à 17% sur le Pentium 4 3,2GHz.

    En français dans le texte…
    Tester une carte PCI sur un Pentium 4 n’est qu’un pur exercice académique. Nous ne conseillons bien entendu à personne de faire une telle configuration ! Sur un systeme plus modeste qui ne disposerait pas de port AGP, la solution Radeon 9000 PCI offre des performances honnêtes avec bien entendu des limitations dès que le moindre shader pointe le bout de son nez (Aquamark) ou qu’une fonctionnalité AGP est requise (Code Creature). A noter que Comanche 4 est limité par la puissance processeur et non par ses shaders…
    Etant à notre connaissance la seule carte graphique PCI encore commercialisée, la 3D Prophet 9000 PCI offrira des performances de bon niveau à un système sans port AGP. Quoi qu’il en soit, ce type de mise à jour est peu intéressant et il reste préférable dans un cadre ludique de remplacer le système complet que de faire appel à une carte PCI.

    Conclusion

    Même si son intérêt est franchement limité, la 3D Prophet 9000 PCI a le mérite d’exister et de proposer des performances valables. Dans le cadre de notre comparaison entre l’AGP et le PCI, cette carte est une aubaine mais en pratique que faire d’une carte PCI sinon un ultime upgrade contre nature ? Selon nous, il reste préférable de changer de carte mère et de carte graphique (AGP). Il ne faut pas perdre de vue qu’une carte PCI n’est franchement pas un achat à long terme…

    3D Prophet 9000 PCI : 7/10
    Pour :
    Performances correctes, ultime upgrade PCI
    Contre : Carte sans avenir