jeugpu     Rechercher trouver 4120

 tg2 f2 lin2 in2 Icône X 3 y2  p2 Tik vapeur2

Caractéristiques de l'architecture GeForce 3

La carte vidéo GeForce3 a été présentée le 22 février 2001 à MacWorld Expo à Tokyo. N'importe qui pouvait y assister par contumace, la vidéo de cet événement ayant été diffusée sur Internet. Monstre des moteurs graphiques", "légende vivante" John Carmack d'ID Software, louant les capacités de la nouvelle puce, a noté qu'elle ne devrait pas s'appeler "GeForce3". Dans le sens où le nombre d'innovations a atteint cette limite critique, à qui au lieu d'un numéro de série, vous devez donner un nouveau nom Pourquoi ?
Logo GeForce 3

Nouvelle puce
Car lors du développement de la GeForce3, les ingénieurs de nVidia ont adopté une nouvelle approche. Auparavant, les performances étaient améliorées grâce à la "force brute": augmentation de la puissance de calcul, augmentation des fréquences, doublement des pipelines et des unités de calcul, et l'architecture dans son ensemble restait la même. Seul le taux de remplissage a augmenté, c'est-à-dire la vitesse à laquelle les pixels remplissent la scène XNUMXD. Étant donné que les technologies de fabrication de puces ont une certaine limite, les cartes graphiques nVidia se sont rapidement déséquilibrées. L'effet d'une bande passante de bus mémoire insuffisante est apparu, lorsque l'amélioration des performances est entravée par un faible débit de données.
Cela est devenu particulièrement visible après la sortie des cartes vidéo ATI Radeon. Ils étaient basés sur la puce Rage6C, qui a deux fois moins de pipelines 3D que la GeForce2 (NV15). Cependant, Radeon n'est en aucun cas deux fois derrière l'adversaire et, dans certains cas, est capable de se rapprocher de lui. Et tout cela parce que les ingénieurs d'ATI se sont dès le début concentrés sur l'amélioration de l'équilibre et la neutralisation des "goulots d'étranglement" dans l'architecture.
GeForce3 a été la première tentative sérieuse d'amélioration de l'architecture pour atteindre un meilleur équilibre. De plus, de nouveaux blocs y sont apparus, donnant aux développeurs la possibilité d'utiliser de nombreuses fonctionnalités auparavant inaccessibles.

Spécifications GeForce 3
Nom GeForce 3
noyau NV20
Technologie de processus (µm) 0,15
Transistors (millions) 60
Fréquence centrale 200
Fréquence mémoire (DDR) 230 (460)
Type de bus et de mémoire DDR-128 bits
Bande passante (Gb/s) 7,3
Canalisations de pixels 4
TMU par convoyeur 2
textures par horloge 8
textures par passe 4
Convoyeurs Vertex 1
Ombrage de pixels 1,1
Nuanceurs de vertex 1,1
Taux de remplissage (Mpix/s) 800
Taux de remplissage (Mtex/s) 1600
DirectX 8.0
Anticrénelage (Max) MS-4x
Filtrage anisotrope (Max) 8x
Taille mémoire 64 / 128 MB
Interface AGP 4x
RAMDAC 350 MHz

GPU signifie unité de traitement graphique
Lorsque le GeForce256 a été annoncé, nVidia a affirmé qu'il s'agissait du premier processeur graphique (GPU) au monde. Cependant, contrairement à l'unité centrale de traitement - CPU, elle n'avait pratiquement aucune possibilité de programmation réelle. Bien sûr, il pouvait effectuer un certain ensemble d'opérations, mais cet ensemble était codé en dur par les développeurs de puces, et non par les programmeurs eux-mêmes. Les opérations de transformation de coordonnées matérielles, d'éclairage (bloc T&L) et de combinaison de textures (bloc NSR - rastériseur) n'étaient pas toujours adaptées aux tâches que les développeurs de jeux se fixaient. Par conséquent, le support T&L à part entière est encore rare.
Avec la sortie de GeForce3, la situation a radicalement changé. La technologie nfiniteFX (de deux mots - Infinite et Effects) prévoyait la présence de deux nouveaux mécanismes - Vertex Processor et Pixel Processor, chacun permettant, à l'aide d'un ensemble de commandes de bas niveau, de créer toutes sortes d'effets spéciaux, le dont le nombre (selon nVidia) était infini.
Vertex Processor a travaillé au stade de la conversion des coordonnées des sommets du triangle (sommets) en une forme adaptée à un traitement ultérieur. Avec l'aide du jeu d'instructions du processeur de vertex, les développeurs peuvent créer des effets d'éclairage, des morphes, des animations d'images clés, etc. Pour créer, par exemple, une phase d'animation, il leur suffisait de spécifier les coordonnées de début et de fin, et le GPU calculait le reste. L'exemple est plutôt conditionnel, mais l'idée, je pense, est claire.
De plus, pour la première fois, un accélérateur 3D pourrait fonctionner non seulement avec des polygones, mais aussi avec des courbes du deuxième ordre et plus. Le développeur n'a pas eu à se soucier de diviser la surface courbe en triangles constitutifs - cela sera fait par le processeur Vertex avec un degré de précision donné.
Pixel Processor est un développement ultérieur de la technologie NSR (nVidia Shading Rasterizer). Le processus d'application de plusieurs textures (par exemple, pour obtenir un éclairage ou un volume) était entièrement programmable, vous permettant de combiner jusqu'à huit textures différentes à partir de différentes lignes de pipeline. De plus, le processeur de pixels pourrait fonctionner avec des textures qui définissent non seulement la couleur, mais également d'autres propriétés de surface : la réflectivité, par exemple, ou le relief. Cela était particulièrement utile lors de la simulation d'une surface d'eau - la GeForce3 pouvait simuler l'eau en temps réel, ce qui a été démontré sur des benchmarks optimisés pour cela.
Toutes les fonctionnalités ci-dessus ont été implémentées à l'aide du jeu de commandes d'interface DirectX 8, spécialement développé pour la nouvelle génération d'accélérateurs 3D. Les cartes vidéo qui n'avaient pas de support matériel complet pour DirectX 8 (et c'est tout sauf GeForce3) pouvaient implémenter des opérations de vertex à l'aide du processeur, et les opérations de pixel n'étaient pas disponibles pour elles. L'interface OpenGL n'est pas non plus en reste : toutes les extensions nécessaires ont récemment été ajoutées à sa composition.

Architecture de mémoire ultra-rapide
C'est la traduction d'une autre nouveauté architecturale, d'abord utilisée dans la GeForce3. Lightspeed Memory Architecture (LMA) est un ensemble de technologies conçues pour compenser les faibles performances (pour des raisons technologiques) du bus mémoire vidéo local. Le principal inconvénient des puces graphiques nVidia qui existaient avant GF3 était le manque d'équilibre entre le cœur graphique et le sous-système de mémoire. La vitesse dans les modes vidéo 16 bits était beaucoup plus élevée que dans les modes 32 bits, car la mémoire ne pouvait tout simplement pas faire face à la charge qui lui était imposée en émettant d'énormes quantités de données. La GeForce3 avait plusieurs mécanismes conçus pour augmenter l'efficacité de la mémoire.
Mémoire de la barre transversale Controller est un tout nouveau principe d'organisation du bus mémoire. La GeForce3 ne comprenait pas un contrôleur 128 bits, mais quatre contrôleurs 32 bits, chacun fonctionnant indépendamment de ses voisins. Pourquoi est-ce nécessaire ? Optimiser les accès mémoire. Si la puce demandait deux blocs de données de 32 bits situés en mémoire non alignés, elle les recevait immédiatement - de deux contrôleurs. Il n'était plus nécessaire d'attendre qu'un mot de 256 bits soit lu en premier, puis un autre.
Une telle architecture était particulièrement importante lors du traitement de scènes tridimensionnelles très détaillées, lorsque chaque objet se composait de nombreux petits triangles (de quelques pixels). Pour obtenir une texture pour deux pixels, vous n'avez pas eu besoin d'inactiver de grandes quantités de données sur le bus.
En plus du nouveau contrôleur, de grands caches ont été utilisés pour satisfaire les demandes des pipelines en cours d'exécution sans accéder au bus. Nous ne préciserons pas les tailles exactes des caches et les mécanismes de leur fonctionnement, mais leur présence est indirectement indiquée par le grand nombre de transistors utilisés.
Sous-système de visibilité - un ensemble de méthodes pour améliorer l'efficacité du travail avec le Z-buffer. Comme vous le savez, chaque objet à l'écran a une troisième coordonnée - Z, qui détermine sa distance par rapport à l'observateur. Conformément à celle-ci, les objets sont dessinés sur l'écran, en commençant par les plus éloignés. Évidemment, certains d'entre eux sont complètement masqués par d'autres et sont complètement invisibles. Mais l'accélérateur 3D leur consacre encore un temps précieux, les remplissant "honnêtement" de textures. Ce phénomène est appelé overdraw. Le coefficient d'overdraw dans les jeux modernes varie de 1.3 à 3.5 selon le nombre d'objets.
Pour la première fois, ATI a utilisé la technologie d'optimisation Z-buffer, l'appelant HyperZ. C'est grâce à elle que Radeon peut rivaliser avec GeForce2 dans les hautes résolutions d'écran. La GeForce3 utilisait également ce type d'optimisation. Z-Occlusion Culling - un mécanisme pour supprimer les objets invisibles, les excluant du traitement.

Le mécanisme de compression Z-buffer utilisé dans Radeon a également été implémenté dans le cœur GeForce3. Selon les développeurs de la puce, cela permettait de diviser par quatre la quantité de données dans ce buffer.
Mais la compensation rapide (Fast Z-clear) n'était utilisée que dans Radeon. nVidia a jugé inutile de créer quelque chose comme ça. Cependant, elle pouvait mieux voir.

GeForce 3

Lissage encore plus rapide
L'inconvénient le plus notable de l'image générée par l'accélérateur 3D est l'effet "aliasing" sur les bords des triangles qui composent l'image. Il s'agit d'un phénomène inévitable dû au fait que l'écran du moniteur est constitué d'une matrice rectangulaire de pixels et que les lignes qui s'y trouvent sont brisées. Afin de lisser les bords des objets, vous devez soit augmenter la résolution (les pixels deviennent alors plus petits), soit appliquer la méthode FSAA (Full Screen Anti-Aliasing), dans laquelle les couleurs des pixels voisins sont moyennées sur tout l'écran. . Tous les accélérateurs 3D précédents utilisaient le mécanisme de suréchantillonnage. C'est une solution frontale au problème : une image est construite dans le tampon avec une résolution multipliée plusieurs fois verticalement, horizontalement ou dans les deux sens à la fois. Après cela, la couleur d'un pixel (échantillon) est obtenue en faisant la moyenne des couleurs des pixels voisins dans l'image agrandie. Dans ce cas, deux effets désagréables se produisent: premièrement, l'image est sensiblement "barbouillée", et deuxièmement, la vitesse chute fortement, car en fait l'accélérateur 3D fonctionne à une résolution plus élevée.
La GeForce3 utilisait deux nouveaux mécanismes. Le premier est un algorithme au nom imprononçable Quincunx. L'essentiel est d'utiliser non pas un simple masque à 2 ou 4 échantillons de pixels voisins, mais un masque à 5 échantillons. Ceux. un bloc 3x3 est pris et la valeur résultante est calculée sur la base de cinq, et non de neuf, pixels de ce bloc. En conséquence, au prix d'un FSAA à 2 échantillons, nous avons obtenu la qualité d'un FSAA à 4 échantillons.
Le deuxième algorithme est le multi-échantillonnage, que Nvidia appelle HRAA (High-Resolution Anti-Aliasing). Il est basé sur la génération de la même image haute résolution, seule la couleur des pixels, qui par conséquent fusionnera de toute façon en un seul, n'est pas recalculée à chaque fois. Si le groupe de pixels à réduire en un seul se trouve à l'intérieur d'un triangle, il est alors rempli avec la même valeur de couleur. Si le groupe se trouve sur la frontière, il est calculé de la manière habituelle. Ainsi, le nombre de calculs pendant HRAA a été réduit de plusieurs fois et la qualité s'est améliorée, car les textures à l'intérieur des triangles ne sont pas lissées.

GeForce3 - a été une révolution dans le monde des accélérateurs vidéo. Autant d'innovations qui améliorent radicalement l'architecture de la puce. Beaucoup de nouvelles fonctionnalités pour les développeurs. Hautes performances, qui pourraient être augmentées un peu plus par l'overclocking, les pilotes débogués.

Max Payne

Max Payne


Commentaires (0)