Lightspeed Memory Architecture

Lightspeed arhitektura je tu da bi se omogućilo racionalnije korištenje memorijskog
bandwidtha tako da 7.3GB/sec bude dovoljno. Centar ove arhitekture je
Crossbar Memory Controller kojeg čine četiri samostalna, paralelna kontrolera.
Svaki od ovih kontrolera "pokriva" 64 bita (kad se zbroje dobije se
punih 256 bita, tj. 128 bita DDR) te se na taj način izbjegava bacanje protočnosti
cijele magistrale na neki proces koji je manji od 256 bita. Kod GF2 kartica
neki podatak od npr. 128 bita potroši cijelu 256-bitnu magistralu jer sve ide
putem jednog jedinog memorijskog kontrolera. Kod GeForce3 kartica isti je podatak
(od 128 bita) razlomljen na dva od 64 bita te ga na sebe preuzimaju dva kontrolera
na obradu. U isto vrijeme ostala dva kontrolera rade na nekom drugom podatku.

Druga stvar koju NVIDIA koristi kod GeForce3 chipa da bi se što bolje
iskoristio memorijski bandwidth jest Hierarchical-Z. Ova stvar nije ništa novo
– riječ je samo o malo drukčijoj implementaciji Tile Based Renderinga (kod Kyro
kartica) ili HyperZ-a (ATi). Radi se jednostavno o Hidden Surface Removal tehnici
gdje se izbjegava renderiranje svega onoga što se neće vidjeti na ekranu. Hierarchical-Z
dodatno je još pojačan kompresijom informacija u Z-Bufferu od 4:1.

Veliki napredak zabilježen je i kod fillratea. Iako GF3 ima jednak broj
pipelinea kao i GF2 (komada 4) od kojih svaki renderira dva pixela po
prolazu, GF3 ima puno veći fillrate. Tajna leži u tome što je GF3 u stanju dodati
4 teksture jednom pixelu u jednom prolazu, dok istu operaciju GF2 mora napraviti
u dva prolaza. GF3 ima i dodatnu prednost što može odraditi 8 texture-blending
operacija po pixelu, dok u isto vrijeme GF2 može odraditi samo dvije operacije.

Kvalitetu Lightspeed arhitekture vidjet ćemo kasnije, kod benchmarka.
Vrijeme je da pređemo na nFiniteFX engine koji čini jezgru GeForcea3.

nFiniteFX engine

Postojeća T&L podrška ozbiljno je ograničavala programere u svom poslu.
Zbog toga je NVIDIA razvila cijeli novi engine koji omogućuje programiranje
i prilagodbu efekata po potrebi programera. Otuda i ime – nFiniteFX znači beskonačan
efekata. Jezgra nFiniteFX enginea su pixel i vertex shaderi koje
(i čije programiranje) podržava DirectX 8. Pixel Shader bi trebao omogućiti
programeru da stvori bilo koji efekt i da taj efekt izgleda izvrsno i realistično.
Što to Pixel Shader može, lijepo se vidi u 3dMark 2001 benchu gdje je
uz pomoć njega napravljeno vrlo meko i lijepo talasanje mora. Tu je i Point
Sprites (kako to radi, vidljivo je opet u 3dMarku 2001 kada se vrti kip konja)
koji omogućuje izbjegavanje prevelikog broja poligona prilikom prikazivanja
neke animacije.

Od ostalih zgodnih stvari, treba izdvojiti podršku za 3D teksture te Environmental
Bump Mapping. 3D teksture su korak dalje u prikazu površina, no kako stvari
stoje do praktične primjene istih ćemo malo pričekati. Njihov najveći problem
je veličina, pogotovo kad se uzme da NVIDIA i dalje ratuje s kvalitetom slike
kada se koristi kompresija tekstura (pogotovo kod S3TC kompresije). Environmental
Bump Mapping pak nije ništa novo, no napokon i GeForce porodica dobiva podršku
za ovo. Kada je Matrox po prvi puta podržao EBM sa svojom G400 karticom došlo
je do prave pomane za njom jer su svi htjeli igrati Expendable (prva igra koja
je podržala EBM) sa prekrasnim efektom vode.

To je ono kako bi trebalo biti u teoriji. Nažalost, čini se da nFiniteFX engine
nije baš tako otvoren kako bi to htjela prikazati NVIDIA. Autor Quake serije
FPS-a, John Carmack, prvotno je bio oduševljen mogućnostima Vertex i Pixel Shadera
te samim tim i GeForceom3. No, u zadnje vrijeme ustvrdio je da nije moguće u
potpunosti programirati efete kako bi to želio, nego da postoje ozbiljna ograničenja.
Pitali smo i Croteam što misle o nFiniteFX engineu pa su nam rekli da na papiru
izgleda dobro, no da se još nisu dovoljno pozabavili s njim da bi mogli reći
da li je dobar ili ne. Kada skupe neka iskustva, prenijet će nam svoje dojmove,
tako da se ne brinete – bit ćete dobro informirani.

GeForce3 donosi i novi algoritam za FSAA (Full Scene Anti-Aliasing) – Quincux.
Quincux je zamišljen kao alternativa 2×2 i 4×4 anti-aliasingu – brzina bi trebala
biti kao kod 2×2, a slika približno kvalitetna onoj kad se koristi 4×4. O Quincuxu
ćemo više kasnije. Sada ćemo malo promijeniti temu i preći na ASUS V8200 grafičku
karticu i što sve dolazi s njom.