Branko Maksimović
NVIDIA GeForce 8800GT – MSI NX8800GT OC Uvod Mnogi korisnici su bili razočarani prvim talasom DirectX 10-generacije kartica
srednje klase, jer su GeForce 8600 i Radeon HD2600 imali tek četvrtinu “mišića”
najjačeg modela. Sve dok AMD i NVIDIA nisu, zajedno sa tajvanskim proizvođačima
mikroprocesora, osvojili sitniju litografiju, bilo je teško zamsiliti da se
fantastično brz GPU sa stotinu i više shader jedinica i bar 256-bitnom
memorijskom magistralom, nađe u ponudi za oko 250 dolara. No, trenutak kada
se i takvi čipovi mogu spustiti bar u viši segment srednje klase je stigao
i to baš u najbitnijem trenutku – pred novogodišnje i božićno praznično ludilo:
vreme kada novac bez mnogo razmišljanja troši na lepe stvari poput video igara,
grafičkih kartica i bržih procesora. I baš u to vreme stižu primamljive grafičke
kartice iz oba tabora: AMD je pripremio Radeon HD2900 Pro i GT (a veoma uskoro
stiže i serija HD3xxx) i spustio ih u segment od 190 do 240 evra, dok je NVIDIA
predstavila GeForce 8800 GT, koji je za samo nekoliko sati po lansiranju, proglašen
za apsolutni best-buy u klasi do 250 evra! Na narednih nekoliko strana,
videćemo i zašto…
Najpopularniji GeForce akcelerator više klase je u poslednjih godinu dana definitivno
bio model 8800GTS, a u poslednjih pola godine – najčešće su to bili još jeftiniji,
a i brži 8800 GTS 320MB modeli, koji su, ako ne po pravilu, a onda vrlo često
fabrički overklokovani. GeForce 8600 GTS su kupovali oni kojima budžet ne dozvoljava
više, ali smo za 50 do 70 evra manje dobijali znatno niže performanse. GeForce
8800 GT stiže, godinu dana kasnije, da ispravi ovu “nepravdu” – po prvim informacijama,
brži je od GeForce 8800 GTS-a, a u nekim slučajevima se “opasno” bliži “neprikosnovenom”
GTX-u, dok su neki uspešni overklokeri uspeli da dostignu i nivo fantastične Ultre.
Ako ste iza sebe nagomilali sve one sjajne igre koje vaša stara kartica nije
mogla da “izgura” onako kako bi trebalo da se igra, možda je sada pravi trenutak
da sa njih skinete prašinu. Jer, pred vama su nove sportske igre kao što su FIFA,
NBA, ProEvolution Soccer, pa novi Need For Speed (mada je i Carbon “tu
negde” sa zahtevnošću), fenomenalni BioShock, Half-Life 2: Episode
Two, dramatični World in Conflict, zarazni Call of Duty 4:
Modern Warfare, Lost Planet, Medal of Honor: Airborne, Quake Wars,
Unreal Tournament 3, a uskoro i Assasin’s Creed, Gears of
War i Crysis. Zapravo, još od prestupne godine koja nam
je donela FarCry i Doom
3 nismo imali toliko uzbudljivog “tripple-A” materijala pred
sobom. Od kako je NVIDIA lansirala svoj program i kampanju “The Way
It’s Meant To Be Played”, igračka industrija ih je podržala sa više
od 250 igara! Konačno će se uposliti svi oni shader procesori
i super-skalarne jedinice kod aktuelnih DirectX 10 video
akceleratora. GeForce 8800 GT bi, prema nomenklaturi, trebalo da
bude slabiji od modela GTS – to pravilo bar važi u klasi modela 8600.
Pa ipak, G92 je nešto jači nego što se očekivalo, čak i u verziji
kod koje je “par” shader jedinica nefunkcionalno. NVIDIA
ima i ideju da svoje GeForce 8800 GTS modele “apgrejduje” sa modernijim i jeftinijim
G92 GPU-om, pa bi oni trebalo da budu jako blizu do skoro fenomenalno brze Ultre.
Svakako, taj novi G92 ima odlične termalne karakteristike, pa se može iskoristiti
i za novi single-GPU top model – nešto što će NVIDIA nazvati GeForce 8850 ili
8900 GTX. Šuška se i o nasledniku GeForce 7950 GX2 kartice, ali ćemo za to
morati da sačekamo kraj nastupajuće zime, odnosno februar 2008. godine. Chipzilla nema
razloga da brine – pored prezahtevnih igara kakav je Crysis, kao i
sve zahtevnijih Unreal 3 baziranih naslova, veliki broj igrača će
kupiti najjače G92 modele, a određen broj možda i po dva komada…
G92 – šta je novo
Godinu dana nakon lansiranja G80, odnosno prvog DirectX 10 grafičkog procesora
više klase i više od šest meseci nakon predstavljanja mainstream dela
DX10 ponude, NVIDIA odlučuje da “osveži” ponudu novim, savršenijim i u svakom
pogledu boljim proizvodom. G92 ne donosi ništa suštinski novo – u pitanju je
rafinirani G80, evolutivni pomak kakav je svojstven velikim igračima kakav
je američki dizajner GPU-ova, korak koji će lideru grafičke industrije pomoći
da ostane na tronu i zadrži apsolutnu lidersku poziciju. Pre nego što krenete
sa čitanjem i razumevanjem teksta koji je pred vama, molimo vas da se podsetite
ili, ako to već niste učinili, pročitate naš prvi test GeForce
8800 GTX kartice. G92 je baziran na istoj unified shader arhitekturi
o kojoj ćemo vas ponovo podsetiti na narednim stranama. GPU se sastoji od 754
miliona tranzistora (što je za oko 60M više u odnosu na G80), a TSMC ga proizvodi
u naprednom 65nm procesu. Površina čipa iznosi oko 330 kvadratnih milimetara,
što jeste dosta, ali je opet osetno manje od površine G80 čipa, pa je tako
i jeftiniji za izradu, i nešto hladniji i štedljiviji na istim radnim učestanostima.
Na GeForce 8800 GT kartici, G92 GPU ima 112 aktivnih 1D (1-way) skalarnih stream
procesora koji kod referentnih kartica radi na 1500 MHz. Ove jedinice su raspoređene
u sedam (osmi je neaktivan) klastera (svaki sa 16 SP jedinica), a na svake
dve se nalazi po jedan posvećeni centar za adresiranje tekstura, te osam jedinica
za filtriranje tekstura sa sopstvenom keš memorijom. Ovakav dizajn je nešto
napredniji od onog viđenog kod G80 čipa i već je “isproban” kod manjih G84
i G86 akceleratora. Svaki od shader procesora je sposoban za jednu Multiple/Add
(MAD) + MUL instrukciju po klok ciklusu, bilo da se radi o floating
point ili integer formatu. Kao i ranije, svaka Render Back-End,
tj. ROP particija poseduje posvećeni L2 keš i “vezana” je za jedan deo crossbar memorijskog
kontrolera širine 64-bita. Kod GeForce 8800 GT kartice, efektivan broj ROP
particija je četiri, što znači da je i efektivna širina memorijske magistrale
256-bita. Svaki ROP sub-unit je spreman za obradu do 16 Z-only piksela
po kloku, odnosno četiri sa piksela sa po četiri “zapisa” (R,G,B za boje i
Z-vrednost, tj. dubina). Svakako, podrška za nove metode umekšavanja ivica
i od ugla nezavisnog anizotropnog filtriranja su ostala (multi-sampling,
super-sampling, transparency adaptive AA i coverage sampling AA (CSAA).
S obzirom na to da je ukupna magistrala uža u odnosu na druga dva predstavnika
8800-klase (320, odnosno 384 bita), NVIDIA je unapredila efikasnost ROP jedinice,
odnosno kompresionih algoritama, kako bi se efikasnije iskoristio memorijski bandwidth.
Kao i ranije, ROP, teksturne i filtering jedinice rade na određenom taktu “jezgra”,
dok su shader jedinice brže.
G80 – dijagram
Svaki od sedam nezavisnih computing celina u čipu, sadrži osam TMU
i šesnaest ALU jedinica i svaki ima sopstveni L1 keš za čuvanje tekstura i
drugih paketa podataka. Povećanju efikasnosti doprinosi i činjenica da G92
ima unapređene shader jedinice. Spekuliše se da one podržavaju FP64
format, odnosno da ceo GPU ima Shader Model 4.0a, tj. DirectX 10.1 kompatibilnost,
a na pitanja da li je to istina, NVIDIA nije odgovorila odrečno, što je mnogima
dodatno zagolicalo maštu. O G92 čipu se zna nešto manje nego što je bilo poznato
u slučaju G80 procesora – broj shader jedinica kod GeForce 8800
GT GPU-a je 112, što ne znači da ih G92 ima više, pogotovo ako znamo
da je u njemu pedesetak miliona tranzistora više! No, u pitanju je čista
spekulacija, jer je veći broj tranzistora možda rezultat činjenice da je
sada u jezgro inkorporisana sva funkcionalnost NVIO čipa koji je kod G80
kartica bio na posebnoj BGA “pločici” – tj. na posebnom čipu. Ipak, ako znamo
da je u prilikom usavršavanja G70 čipa na G71, NVIDIA uspela da zadrži sirovi fillrate i
istovremeno smanji broj tranzistora, onda možemo sa istom sigurnošću tvrditi
da u G92 jezgru ipak ima više shader jedinica. Ono što se pouzdano
zna jeste da su i teksturne jedinice kod G92, u odnosu na G80, unapređene,
odnosno da su preuzete od G84 i G86 čipova. Kod G80, svaka teksturna jedinica
može da radi sa četiri teksturne adrese i obradi osam operacija filtriranja
po ciklusu. G84, G86 (kao što smo pisali), ali i G92 je sposoban za dva puta
veći broj poziva (fetching), što znači da nova teksturna jedinica ima osam
(umesto četiri) sub-jedinice (da ih tako nazovemo) za adresiranje tekstura
(texture address units), kao i onih za filtriranje. To donekle objašnjava
kako čipovi sa samo 32 shader jedinice
(GeForce 8600 GTS) i 128-bit magistralom ipak mogu da postignu solidne performanse,
ako znamo koliko je, bar u teoriji, manje snažan od GeForce 8800 modela. U
odnosu na prethodna rešenja, GeForce 8800 GT donosi i novi transparency antialiasing
algoritam. I dalje su u pitanju već viđeni principi – multisampling i supersampling,
s tom razlikom da je novi transparentni multisampling (TRMS) sada zapravo upotrebljiv
(prethodni algoritam je davao loš kvalitet umekšavanja i loš hardverski alpha-coverage).
G92 – dijagram
PureVideo HD druge generacije je deo GeForce 8600, 8500 i 8400, ali ne i 8800
akceleratora. Naravno, u potpunosti je podržan kod novog video akceleratora,
ali ni ovoga puta nema podrške za audio. PureVideo HD je napredan sistem za
hardversku reprodukciju novih formata namenjenih za filmove visoke rezolucije.
VC-1 i H.264 su izuzetno zahtevni kodeci, a ako želite kvalitetno i napredno
filtiranje, kompenzaciju pokreta i najviši kvalitet reprodukcije onda će i
skoro svaki budžetski dual-core CPU današnjice biti opterećeni i do 80-90%
samo tokom dekodiranja, uz ogroman broj propuštenih frejmova i nemogućnost
da se neki resurs preusmeri na druge zadatke. NVIDIA PureVideo koristi 3D pipeline samog
grafičkog procesora i ubrzava reprodukciju i to kroz Windows Media Player,
ali i nove verzije PoweDVD i WinDVD plejera. GeForce akceleratori sedme i osme
generaciji omogućavaju akceleraciju video fajlova visoke rezolucije (GeForce
serije 6 je ograničen na PureVideo (bez HD)), i imali smo priliku da vidimo
kako opterećenje procesora sa 70-80% pada na 20-30% u slučaju kada je hardversko
dekodiranje unutar drajvera obeleženo. PureVideo HD ima i mogućnost dinamičkog
redukovanja šuma i izoštravanja slike, uz dodatno poboljšane performanse. Ne
treba zaboraviti da će nove verzije kodeka uvek brzo biti hardverski podržane,
pošto je PureVideo HD programabilan. Novi model PureVideo HD „procesora” sadrži
i BSP engine, koji omogućava od CPU-a potpuno nezavisno dekodiranje H.264,
VC-1 i MPEG-2 formata rezolucije do 1920 x 1080 piksela uz bitrate od čak 40
i više Mbit-a po sekundi, sa in-vivo kalkulacija CABAC i CAVLC faza u ovim
vrlo intenzivnim matematičkim procesima dekodiranja. Štaviše, u teoriji ćete,
sa G86 ili G92 GPU-om, moći da gledate Blu-Ray ili HD-DVD filmove čak iako
imate jednojezgarni Sempron ili CPU klase Pentium 4.
Jedna od zaista novih mogućnosti G92 čipa je i podrška za PCI-Express 2.0,
koji donosi povećanje propusne moći sa 2.5 gigabita po sekundi, na čak 5 Gbps.
To znači da će PCI-E x16 slot moći da „progura” do 8 gigabajta (8 GB!) po sekundi
u oba smera, simultano. Dobra osobina novog porta je i kompatibilnost na niže
– PCI Express 1.1 kartice će raditi u PCI Express 2.0 slotovima, ali i obrnuto
(što nije bio slučaj sa AGP-om)! Dakle, PCI Express 2.0 kartice mogu da rade
i na „starim” PCI Express 1.1 pločama. Novi NVIO engine ponovo podržava dva
puna Dual Link DVI „signala”, uz obavezan HDCP, a sada je već iz čipa podržan
i HDMI (nikakva dodatna elektronika na samoj kartici neće biti potrebna ako
se partneri odluče da na svoje modele ubace i ovaj konektor, što bi mi svakako
voleli da vidimo u praksi).
GeForce 8800 GT dolazi u dve verzije (SKU-a): sa 256 i 512 MB memorije. Kod
obe kartice, jezgro radi na 600 MHz, a 112 shader procesora na 1500 MHz. Efektivan
takt memorije je 1800 MHz, što daje propusnu moć od 57.6 GB/s, uz potrošnju
od relativno skromnih 110W. Ova kartica ima preporučenu cenu od svega 249
dolara (250 evra na našem tržištu). Slabiji model će imati 256 MB memorije
na radnom taktu od 1400 MHz (44.8 GB/s), mada ne sumnjamo da će, kao što je
već slučaj sa 512 MB verzijom, biti najrazličitijih overklokovanih varijanti.
Pre nego što se posvetimo našoj prvoj G92 kartici, podsetićemo se i nekih činjenica
vezanih za DirectX 10, Unified Shader arhitekturi i drugim novinama Shader
Model 4.0 akceleratora.
Rekapitulacija – DirectX 10
DirectX 10 je redizajniran i kreiran tako da kranje performanse budu primarni
cilj, kao i da se programerima „daju odrešene ruke”, tj. da im se ne postavljaju
ograničenja i da im svojim alatima, u okviru SDK, omogući lakši razvoj aplikacija.
Pre nego što su se grafički API-ji pojavili, aplikacija je slala informacije
direktno ka grafičkom procesoru, što je sa jedne strane dobar pristup, jer
nema posrednika, ali je u tom slučaju nemoguće kreirati 3D igru koja bi dovoljno
dobro radila sa različitim GPU-ovima. API je dobro rešenje, jer se između aplikacije
sa jedne i GPU-a i video drajvera sa druge strane postavlja kao sloj koji obezbeđuje
ultimativnu kompabilnost po principu – aplikacija mora da bude napisana po
načelima (standardima) API-ja, dok sam GPU zajedno sa njegovom manifestacijom
unutar operativnog sistema – drajverom, zapravo predstavlja motor za pravilno
izvršavanje funkcija koje API i softver mogu da pošalju. Umesto da se programeri
bave specifičnim funkcijama različitih GPU-ova, uz obavezu da se njihov softver
pravilno na njima izvršava, aplikacija šalje niz instrukcija ka API-ju, koji
ih prevodi u instrukcije razumljive samom hardveru. GeForce 8800GTX je bila
prva video kartica na tržištu koja podržava Microsoft DirectX 10 Shader Model
4 u okviru Windows Vista operativnog sistema.
Prethodne verzije DirectX API-ja su se dosta oslanjale na sistemski procesor,
pa i bez obzira na to što su grafičke kartice odavno preuzele sve kalkulacije
vezane za iscrtavanje grafike (ovoga puta ne pričamo o ostalim komponentama
koje čine jednu igru, tako da ih zanemarujemo), sam DirectX je bio tako organzovan
da svaka operacija nad teksturom, geometrijom, osvetljenjem itd. mora da bude
verifikovana od strane API-ja. To ne bi bio problem da se sam DirectX, kao
i ostali API-ji Windows-a ne oslanja direktno na CPU kad god je potrebno da
prihvati neku instrukciju koju mu šalje sama aplikacija (3D igra). Upravo zbog
toga je toliko bitno da osim veoma jake grafičke kartice, za dobre performanse
u igrama imate i moćan centralni procesor. Najveća prepreka ka igrama koje
igraju na kartu realističnosti ili foto-realističnosti jeste upravo večiti
problem koji grafički API ima u svojoj koncepciji, a koji se odnosi na njegovu
zavisnost od brzine samog procesora. Geometry Shader i Stream Output
su dve komponente novog DirectX 10 API-ja, koje, esencijalno, omougćavaju da
grafički čip procesira čitavu „geometriju” scene bez obzira na to kojim redom
i kojom brzinom se izvršava procesiranje vertex informacija. DirectX 9 je postavljao
ograničenje tako što je svaki deo geometrije izvršavao redom, tako da je određeni
objekat bio spreman za prikaz tek kada je i njegov poslednji „trougao” bio
procesiran. U ovom API-ju je takođe bilo nemoguće prepustiti da sve kalkulacije
vezane za geometriju scene odradi GPU, već je sa većinom ovih instrukcija morao
da bude upoznat i sam CPU. Naravno, i ranije su postojali vertex shader programi
koji omogućuju da manje izmene geometrije hendluje sam GPU, ali bi za drastičnu
izmenu čitave scene (smislena manipulacija čitavom geometrijom u realnom vremenu)
bio neophodan gigantski vertex shader program, koji bi vertex jedinica
stalno morala da poziva iznova (ili bar da poziva naredni program), što je
jako naporno za programere, a sve zbog limita koji postavlja DirectX 10. Jako
je zanimljivo da je u ovom slučaju sam softver (DirectX 9 API) ograničavao
i već dovoljno dobar, postojeći hardver (R580, G71 itd.). Uz novi, Geometry Shader,
razvojni timovi će imati mogućnost da animiraju likove i samo okruženje u igrama
bez konstantnog ograničenja vertex jedinice, odnosno njenog stalnog
obraćanja sistemskom procesoru (preko API-ja). Kako će nova posvećena jedinica
biti u stanju da sama obrađuje vertex informacije, više nećemo (morati
da) gledati kako se objekti u igrama pojavljuju niodakle. Kao što ćemo videti
kasnije, Geometry Shader kao poseban deo novih GPU-ova, će zahvaljujući
novom DX10 API-ju moći da generiše i obradi podatke vezane za geometriju scene,
pa ih onda pošalje u Vertex jedinicu, koja tradicionalno radi nad pripremom
za prikaz na ekranu (transforming). Shading (lightning), naravno, i dalje obavlja
Pixel Shader jedinica, odnosno Unified Shader jedinica u
slučaju takve arhitekture grafičkog procesora.
Ako posmatramo samu organizaciju DirectX 10 API-ja, primetićemo da je Geometry Shader zapravo
ispod Vertex Shader-a, ali je to predstavljeno na taj način upravo
da bi bila jasnija uloga Stream Output komponente. Ako Geometry Shader omogućava
dinamičku modifikaciju objekata unutar samog GPU-a, bez oslanjanja na CPU,
onda je Stream Output tu da obezbedi pravilnu komunikaciju između pipeline jedinica
koje rade na istom delu geometrije, a koja može biti modifikovana od strane
samog Geometry Shadera. Drugim rečima, Stream Output je komponenta
koja omogućava da se podaci generisani od strane Vertex i Geometry Shadera
budu privremeno sačuvani u memoriji, pre nego što bi bili ponovo poslati na
početak pipeline-a (input), da bi bili ponovo modifikovani. Ovi paketi
podataka se upravo privremeno i čuvaju da se ceo proces inicijalnih kalkulacija
ne bi ponavljao od početka, svaki put kada određeni shader program
zahteva više prolaza (multiple pass operations). Neke od mogućnosti Geometry Shadera
su prikazane na slici iznad, a mi ćemo dodati da je pametnom upotrebom ovako
moćnog sistema za manipulaciju geometrijom, moguće kreirati svetove koji nikada
nisu isti. Zamislite pucačinu iz prvog lica čiji hodnici nikada nisu isti svaki
naredni put kada je igrate? I zamislite prednosti ovog sistema u online igranju
– neki novi klinci u nekom novom “Kanteru” neće moći da nauče svaki
kutak mape kako bi znali gde da nađu mesto za kampovanje. Dobar primer za šta
su sposobni novi Geometry Shader i Stream Output je NVIDIA Waterworld
demo, koji ćemo prikazati na narednim stranama. U ranijim verzijama DirectX-a, najveći problem je, kao što smo naveli, ograničen
broj poziva koje API može da pošalje centralnom procesoru za svaku od manipulacija
nad komponentama 3D scene. Zbog tog ograničenja, razvojni timovi su često grupisali
objekte, što se naziva batching, kako bi smanjili broj „poziva” koji
API upućuje CPU-u. Međutim, ako se objekti razlikuju po svojstvima samog materijala
od koga su „izgrađeni”, batching nije moguć. I svaka izmena stanja
(blending, promena teksture, oblika i sl.) bi obavezivala API da se obrati
centralnom procesoru. Međutim, kod DirectX 9 API-ja, pre svake izmene stanja,
prilikom svakog obraćanja CPU-u, bila je neophodna i validacija, koja je kod
nove verzije API-ja neophodna samo prilikom prvog izvršavanja izmene nad novim
objektom. Jedna od novih mogućnosti DirectX 10 je nazvana „niz tekstura” (Texture
Array) koja omogućava da proces se više tekstura pune rezolucije poveže u niz
bez potrebe da se svaka od njih poziva ponovo. Ova mogućnost je korisna u situacijama
kada želimo da objekat postepeno promeni svojstvo (recimo, ako želimo da prikažemo
ubrzano starenje čoveka pa je neophodna izmena teksture kože) ili samo izgled.
Ranije bi bilo neophodno da dizajneri za svaku teksturu pozivaju kompletnu
izmenu stanja (reteksturisanje, shading, shadowing, itd.) što je kompleksan
proces ako se u isto vreme menjaju color, displacement teksture i light mape.
Pošto bi se svaka od ovih tekstura menjala gotovo svake sekunde, veliki deo
memorije i procesorskog vremena bi bio potrošen samo na taj objekat, tako da
su u ovakvim slučajevima dizajneri često birali varijantu gde bi svaku narednu
promenu na teksturi (odnosno svaku novu teksturu), iscrtali na samo jednoj
teksturi, a onda za svaku promenu koristili različite koordinate (delove) iste
bitmape. S obzirom na to da je ograničenje u rezoluciji tekstura kod DirectX
9 API-ja 4048 x 4048 piksela, dizajneri su morali da žrtvuju ili detaljnost
svake od tekstura ili broj samih promena, a u oba slučaja, rezultat nije ni
izbliza impresivan kao kada se za svaku promenu primenjuje novi set tekstura;
ovaj slučaj je bio prisutan u NVIDIA demou koji prikazuje ubrzano starenje
automobila u garaži, ali je činjenica da u tom demou praktično imamo samo jedan
osnovni objekat – šta bi učinili kada bi on bio samo mali deo neke kompleksnije
3D scene? Texture Array omogućava da do 512 setova tekstura bude “vezano” u
niz. Svaka od tekstura je indeksirana od strane samog GPU-a, kako bi broj poziva
ka CPU-u bio još manji. Predicted Draw je još jedna funkcija koja je sada nezavisna od centralnog procesora.
Već je poznato da u 3D sceni, nakon transformacije neophodne za prikaz, mnogi
objekti ostanu van vidnog polja (occluded). U nekoliko poslednjih generacija
grafički procesori su imali hardverski metod koji utvrđuje koje će površine
biti zaklonjene (o tome smo pisali u više navrata), međutim ti metodi su u
praksi dosta nepraktični, jer je bitnije da krajnja slika nema vizuelnih grešaka
čak iako su performanse za neki procenat niže. Zbog toga su i na softverskom
nivou, programeri uveli metod koji se naziva Predicted Draw i koji funkcioniše
tako što se nakon izvršavanja operacija sa vertex-ima, scena prikaže bez tekstura,
na najjednostavniji mogući način (kao što u filmskoj industriji, pre snimanja
svake scene postoji pre-visualisation faza, koja omogućava reditelju
da tačno zamisli kako će svaka scena izgledati). Ako izostavljanje nekog objekta
nema uticaja na izgled konačne scene, onda se taj objekat u datom frejmu dalje
ne procesira, što se naziva Occlusion Query. Sve ovo se, ponavljamo, izvršava
isključivo uz GPU intervencije. Kako bi broj izmena stanja mogao da bude vezan u jedan batch i onda
hendlovan od strane GPU-a, uvedena su dva nova sistema – State Objects i Constant
Buffers. Pre DirectX 10, broj stanja je definisan pre nego što podaci krenu
kroz pipeline, i da bi neke promene mogle da budu primenjene, ceo
skup podataka je morao biti rekonfigurisan. Novi DirectX API omogućava da se
izmene stanja vrše na više nivoa na pipeline-u. State Objects se sastoji
od pet SO grupa: Input Layout, Sampler, Rasterizer, Depth Stencil i Blend.
Constant Buffers se sastoji od predefinisanih vrednosti koji se koriste kao
parametri unutar svih shader programa. Broj osvetljenja u sceni, sa
svim parametrima (intenzitet, boja, pozicija) je određen konstantnom vrednošću
unutar tog bafera. Pošto se u igrama neke od tih vrednosti menjaju, ovaj bafer
se često mora update-ovati, ali je i dalje efikasnije da se parametri čuvaju
u njemu, pošto se ove promene ne dešavaju „po frejmu”. Constant Buffers može
da sačuva do 4096 vrednosti i sve one mogu biti apdejtovane samo jednom batch funkcijom
(ranije je za svaku od promena bila neophodna posebna funckija).
DirectX 10 je, dakle, kompletno redizajniran API koji omogućava daleko više
performanse, bližu saradnju sa grafičkim procesorom i manju zavisnost od centralnog.
DirectX 10 donosi i Shader Model, verzije 4.0, koji donosi nekoliko
ključnih novina. Prva od njih je postojanje novog „koraka” u procesiranju geometrije
– geometry shader, koji dozvoljava manipulaciju primitivama bez uticaja
CPU-a. Druga novina je uvođenje arhitekture unificiranih shader-a,
zajedno sa unificiranim setom instrukcija i zajedničkim resursima kroz ceo
pipeline (vertex, geometry, pixel shaders); treća novina proizilazi
iz druge – resursi za shader kalkulacije bilo kog tipa su daleko veći
jer iste ALU jedinice, u zavisnosti od potrebe, mogu izvršavati i vertex i pixel operacije.
Geometry Shader programerima daje mogućnost za prirodnu hardversku
kalkulaciju izmene geometrije i fizičku manipulaciju objektima. Rekapitulacija – Unified Shading Architecture U prethodnim verzijama DirectX-a, pixel shader je uvek bio više ograničen
od vertex shader-a, bar kada posmatramo maksimalan broj stalnih i
privremenih registara ili instrukcija. Programeri su svaki put morali da kreiraju
posebne shader programe koji će se, recimo, odnositi isključivo na
jednu osobinu nekog materijala (koji se izvršava u pixel shader-u)
ili na promenu njegovog izgleda nakon nekog fizičkog uticaja (udarac metka
u metal, program koji se izvršava u vertex shader-u). Shader Model
4.0 pruža unificiran set instrukcija sa istim brojem privremenih i stalnih
registara i input-a kroz ceo pipeline. Kreatori igara za DirectX 10 više neće
brinuti o limitima koje postavlja maksimalan broj poziva ka centralnom procesoru
usled prevelikog broja izmene stanja, jer će sve shader programe praktično
izvršavati samo GPU (ako zanemarimo zaista minimalan broj CPU verifikacija).
U tom kontekstu, DirectX 10 pruža preko stotinu puta više resursa od poslednje
iteracije DirectX-a 9. Primera radi, navešćemo broj privremenih registara koji
je sa 32 povećan na 4096, broj konstantnih registara sa 256 na 65 hiljada (16
x 4096). Ono što čini igru unikatnom su njene teksture, a kao što smo već naveli, DirectX
9 je u relanim primenama primoravao dizajnere da koriste Texture Atlas-e, koji
predstavljaju niz manjih tekstura u okviru jedne, koja ima maksimalne 4k x
4k dimenzije (pogledati prethodnu stranu). Texture Array donosi mogućnost formiranja
niza tekstura (do 512) maksimalne rezolucije od 8192 x 8192 piksela. I što
je najlepše, sve one se pozivaju uz samo jednu promenu stanja. Broj višestrukih
render-targeta je sa četiri, povećan na osam. Multiple RT je jedna od često
eksploatisanih funkcija prethodne verzije DirectX-a, koja omogućava unikatan
izgled površine objekta – četiri različite varijante se renderuju u samo jednom
prolazu. High Dynamic Range je još jedna često korišćena mogućnost
DirectX 9 API-ja, koja zahteva rad u FP16 formatu, a koji, zahteva 16-bita
po kolornom kanalu. Zbog toga je FP16 dva puta memorijski zahtevniji od standardne
8-bit integer „preciznosti”. DirectX 10 donosi dva nova HDR formata: R11G11B10
je optimizovan za rad sa FP teksturama i koristi 11-bita za crvenu i zelenu,
10-bita za plavu komponentu, dok je ostatak FP formata “zadužen” za render
targete. Iako ne nudi veća ograničenja u odnosu na DirectX 9 FP16 rendering
format, R11G11B10 je dosta skromniji po pitanju resursa. Za višu preciznost,
tu je i FP32 rendering format, koji nudi 32-bita za svaki od kolornih kanala,
a koji je, kao i prethodni, potpuno podržan od strane novih GeForce 8800 kartica. Geometric Instancing je još jedna od DirectX 9 funkcija koje su znatno
poboljšane u novoj verziji ovog API-ja. Više identičnih objekata (vojska, drveće
ili listovi na drveću) se mogu ponavljati bez izmena stanja u GPU-u za svaki
ponaosob, a za svaki je bilo moguće eventualno primeniti drugačiju teksturu,
orijentaciju i naravno poziciju. Implementacija ove mogućnosti u DirectX 10
je daleko impresivnija: umesto da se objekti samo ponavljaju, sada je njihove
vrednosti vezane za nizove tekstura (Texture Arrays), render targete ili čak
pozivanja različitih shader programa, moguće indeksirati i menjati
unutar pipeline-a. Sada se „instancirane” objekte možda nećemo moći
ni da prepoznamo, jer će samo naizgled ličiti jedan na druge, a ušteda u GPU
vremenu je zaista velika.
Displacement Mapping sa deljenjem (tessellation) se sada izvršava
isključivo na nivou GPU-a, što omogućava novi Geometry Shader. Podsećanja
radi, displacement mapping je tehnika koja omogućava da se prikažu veoma kompleksni
objekti, za koje bi inače bio neophodan izuzetno velik broj poligona. Umesto
toga, od kompleksnog modela se aproksimacijom kreira model sa manjim brojem
poligona (tzv. low-poly model), a poseban program na osnovu razlike između
ova dva modela kreira monohromatsku teksturu koja svetlinom svakog piksela
određuje relativnu visinu tačke kolorne teksture, u odnosu na površinu low-poly
modela. O ovome smo takođe ranije detaljno pisali, a razlika između Displacement
Mapping tehnike u DirectX 9 i DirectX 10 API-jima je u tome što dalje deljenje
poligona (tessellation) na low-poly objektom nije bilo moguće iz razloga što
stara verzija API-ja nije dozvoljavala grafičkom procesoru da vrši intervencije
nad geometrijom bez specifičnog vertex programa iz aplikacije (koji opet poziva
CPU, vrši se izmena stanja itd.). Novi DirectX 10 omogućava pravi Displacement
Mapping kakav se izvodi na softverskim (offline) renderima, ali u realnom vremenu.
Geometry Shader radi sa tri tipa primitiva: vertices (tačke
u 3D prostoru), linijama i trouglovima, ali u jednom shader programu
može da radi sa samo jednim od tih tipova. Kada radi sa linijama ili trouglovima,
Geometry Shader može da pristupi i izmeni uglove spojenih linija,
što omogućava direktnu implementaciju nekih vrlo moćnih algoritama. Npr. pristup
informacijama o poziciji i uglovima između spojenih linija, omogućava da se
lako izdvoje krajnje linije objekata (siluete), što je korisno u nekim tipovima
rendera (cell-shading, fur rendering i sl.). Kako je Geometry Shader sposoban
da generiše, poništi i stream-uje postojeće pakete informacija, rad sa sistemima
čestica (particles) je daleko manje zahtevan i izvršava se isključivo unutar
GPU-a.
High Level Shading Language, koji je prvi put implementiran u DirectX
9, sada je poboljšan novim konstantnim baferima za brzu izmenu (apdejt). U
novom DirectX-u, shader resursi su dosta povećani, a već gotove kalkulacije
se mogu ponovo koristiti ako program to zahteva (misli se na neku od pajplajn faza).
Integer instrukcije se sada mogu izvršavati unutar GPU-a bez potrebe za specifičnim
prevođenjem već pisanih delova programa iz FP formata u celobrojni. Switch
Statement omogućava da DX10 kompatibilni GPU izvršava ogromne shader programe
koji sadrže ogroman broj putanja i pod-programa. Alpha to coverage se
koristi u situacijama u kojima se do sada koristio transparentni (tj. adaptivni)
antialiasing. Umesto da multi-sample antialiasing radi i unutar alpha tekstura,
uz obavezan alpha blending, novi sistem detektuje ivice između alpha kanala
i RGB piksela, na koji onda primenjuje klasičan multi-sample antialiasing.
Rezultat je kvalitativno još bolji nego u slučaju starog transparentnog ili
adaptivnog MSAA, a što je bitnije, značajno je i brži. DirectX 10 donosi i
kompletnu podršku za Shadow Map Filtering. Shadow mape i dalje predstavljaju
najrealističniji način da se prikažu senke, ali se na njih do sada veoma teško
primenjivalo umekšavanje ivica, što je dodatni problem jer uvođenje Shadow
mapa u startu ima veliki uticaj na performanse, pa je gotovo nemoguće postići
dobre performanse kada su ove teksture visoke rezolucije (dobar primer je igra
Call of Juarez).
GeForce 3 je doneo mogućnost rada sa programabilnim shaderima, pa
je napravio pravu revoluciju kada su u pitanju proceduralno generisani efekti.
Međutim, kako je sam API ograničavao GPU da sam kreira nove podatke, svi „proceduralni”
efekti su bili bazirani na predefinisanim vertex podacima, a ne na kalkulacijama
koje su sposobne da kreiraju svet koji evoluira na osnovu vladajućih parametara.
Zbog toga su proceduralni efekti za sada bili korišteni da bi se prikazala
raznovrsnija površina vode, vatra koja ne predstavlja samo ponavljanje istih
„sličica”, krzno ili neka druga slična površina… Uz DirectX 10 i Geometry Shader,
moguće je nekom objektu zadati samo početne parametre i uslove u kojima se
nalazi. Microsoft je napravio demonstraciju podvodnog ekosistema, u kome se
korali svaki put drugačije razvijaju, a drastično menjaju ako se promeni bogatstvo
faune ili salinitet same vode i podvodne struje. Samim tim, šume u nekog RPG
igri mogu izgledati drugačije kada se ponovo vratite u njih, trava i cveće
mogu zavisiti od godišnjeg doba, a sve bez potrebe da razvojni timovi sve to
sami dizajniraju. Ova mogućnost DirectX 10 API-ja se zove Procedural Growth
Simulation.
Unified Shader arhitektura – hardver
GeForce 8800 GPU, poznat i kao G80, prvi je grafički procesor koji ima potpunu
DirectX 10 kompatibilnost. Sastoji se od 128 individualna Stream Procesora
koji rade na 1350 MHz. Svaki od ovih procesora može da radi na vertex, pixel,
geometry ili kalkulacijama vezanim za fiziku i to sve „u letu” tako da je odnos
kalkulacija između pixel i vertex informacija uvek savršeno balansiran. Najzanimljivije
od svega je što se predpostavljalo da će prvi GPU sa arhitekturom unificiranih shader-a
predstaviti ATI, a da će G80 biti rešenje koje će imati neku napredniju vrstu
klasične arhitekture sa zasebnim pixel/vertex shader jedinicama. Tome
su doprineli razni komentari zvaničnika kompanije, uključujući i same inžinjere,
koji su navodili da je unified shader arhitektura sigurno put kojim
će se krenuti u budućnosti, ali da sam DirectX 10 ne zahteva ovakav pristup
u dizajniranju GPU-a. Još jedan razlog zbog koga smo verovali da će ATI prvi
izbaciti unified shader GPU za desktop računare je i činjenica da
su oni paralelno sa R520 dizajnirali Xenos, GPU koji se nalazi unutar Xbox360
konzola, a koji je, osim što predstavlja moćan US GPU, istovremeno i memorijski
kontroler na osnovnoj ploči ove konzole. U svakom slučaju, njihov naredni unified shader GPU
će sigurno biti impresivan, jer postoje stvari koje su, učeći se na greškama
prvenca, mogli do sada da unaprede i isprave. Bilo kako bilo, NVIDIA je za
PC računare predstavila prvi DirectX 10 i prvi Unified Shader GPU,
koji je razvijan od kako je završen rad na NV30 (GeForce FX5800) arhitekturi.
Iako je kreiran za rad pod DirectX 10 API-jem, G80 donosi ozbiljna povećanja
performansi i kvaliteta prikaza i u DirectX 9 aplikacijama. To znači i da je
novi NVIDIA GPU potpuno hardverski komplementaran sa novim grafičkim API-jem
iz Redmonda, uključujući podršku za geometry shading, unified shading, constant
buffers, FP32 render targets i punu FP32 preciznost kroz kompletan pipeline…
Kod prethodnih generacija termin pipeline se odnosio na broj TMU
(texture mapping / management units) i ROP (raster operator / render output
processor) jedinica koje su kod Radeon R5xx GPU-ova “vezane” baš kao što su
TMU i Pixel Shader jedinice “vezane” kod G7x procesora. Broj ROP i
TMU jedinica kod G80 procesora je i dalje “skromnih” 24, odnosno 32, dok je
broj Z-compare jedinica povećan na 192 (poređenja radi, Radeon X1950 XTX ima
svega 16 ovih jedinica). Da bi smo lakše shvatili razliku, pođimo od prvih
GeForce kartica. Kao što vidimo na slici dole, Transform and Lightning, koji
je prvi put predstavljen na GeForce 256 akceleratoru, preuzeo je funkciju osvetljavanja
i transformancije 3D scene od sistemskog procesora. Naravno, bilo je potrebno
da sam softver i API prihvate sve prednosti koje je nova arhitektura (u odnosu
na RivaTNT2) donela. T&L je evoluirao u Shading Rasterizer (NSR), prvi
put primenjen kod GeForce 2 kartica, koje se nisu značajnije razlikovale od
svog prethodnika, da bi sve nešto kasnije, kada se pojavio GeForce 3, preraslo
u Vertex jedinicu(e). Vertex jedinica, kao što znamo, informacije šalje u Pixel Shader,
koji trouglove obrađuje i „boji”, dok Raster Operator radi na ostalim funkcijama
kao što su antialiasing, blending, Z-buffering i sl. Razumevanje Balansa
Međutim, stvari ne idu baš na taj način kod novih grafičkih procesora. Shader Unit
se sastoji od specifičnih aritmetičko-logičkih jedinica (ALU) optimizovanih
za izvršavanje određenih vrsta instrukcija. Ako ove jedinice dizajniramo tako
da mogu da izvšavaju najrazličitiji tip koda, onda su one sposobne za pixel
i vertex operacije, ali i mnogo više od toga. Zapravo, potrebno je samo da
ih pravilno uposlite, a da li se radi o kalkulacijama vezanim za geometriju,
fiziku ili neku treću funkciju (GPGPU), to je već do samog API-ja, odnosno
programera. Svoj deo čipa i dalje okupiraju ROP jedinice i memorijski kontroler.
GeForce 8800GTX donosi više performanse i u ovom trenutku, jer je balans između
jedinica koje obrađuju pixel i vertex podatke uvek savršeno balansiran prema
aplikaciji. U nešto ređim situacijama kada je igra više vertex intenzivna,
8 VS jedinica kod GeForce 7900GTX kartica može biti maksimalno opterećeni,
dok Pixel Shader može 80% vremena da provede u idle stanju, čekajući
informacije iz Vertex Shadera. Ili ako 3D scena zahteva enormno mnogo
pixel shader kalkulacija, uz veoma malo realne geometrije (dobar primer
je ATI Toy Shop Demo ili nove Unreal 3 igre, zatim nova igra TimeShift) – tada
će i 48 pixel shader jedinica biti 100% opterećeno dok 8 vertex shadera
može da provede i 50% vremena „ne radeći ništa”. U svakom slučaju, standardna
arhitektura u kojoj su ALU jedinice sposobne da rade samo sa vertex ili pixel shader instrukcijama
nikada nisu 100% efikasne kao čip sa arhitekturom unificiranih shadera.
G80 poseduje 128 ovakvih jedinica, koje NVIDIA naziva Stream Processors. Da
je sam GPU neverovatno kompleksan govori i činjenica da se u njemu nalazi čak
680 miliona tranzistora, što je za 100 miliona više od Intel Core 2 Extreme
(Kentsfield, četiri jezgra) sistemskog procesora. Pogledajmo sada i shemu organizacije
celina unutar G80 GPU-a.
Nova arhitektura podrazumeva da su teksturne i ROP jedinice “odvojene” od shader unit-a,
što je potpuno suprotno od dosadašnje arhitekture GeForce kartica, ali je slično
R5xx procesorima, kod kojih je „shader sistem” odvojen od „texture
sistema”. Bili smo u pravu kada smo tvrdili da je R580 “na pola puta” ka unificiranoj shader arhitekturi.
Ako pogledamo shematski prikaz čipa iznad, primetićemo da su zeleni kvadratići
ono što NVIDIA naziva Streaming Processors (ako uvećate sliku, primetićete
da su označeni sa SP), plavi pravougaonici ispod su TMU jedinice, a siva polja
označavaju Frame Buffer, odnosno „izlaze” memorijskog crossbar kontrolera ka
memorijskim čipovima. Svaki od šest komponenti ima širinu od 64-bita (ukupna
širina 384-bita). Da bi svi procesori bili pravilno uposleni, brine se GigaThread
procesor, koji je po funkcionalnosti sličan UltraThreaded Dispatch sistemu
koji nam je poznat iz R520 i R580 GPU-ova. U poređenju sa GeForce 7900GTX,
8800GTX je sposoban da pruži dvostruko više performanse u aktuelnim aplikacijama,
dok određene shader operacije izvršava i do jedanaest (11!!!) puta
brže, najviše zahvaljujući GigaThread tehnologiji koja omogućava da se u trenutku,
u GPU-u simultano izvršava bukvalno na hiljade thread-ova. DirectX 10 predstavlja najbitnije unapređenje u real-time 3D grafici još od
pojave programabilnih shader-a. GeForce 8800 GPU, ne samo da je prvi
DirectX 10 GPU, već je bio i referenca u razvoju i sertifikaciji ovog API-ja.
GeForce 256 se pojavio u vreme fiksnih (ne-programabilnih) funkcija i DirectX
7 API-ja, a doneo je hardverski T&L, dok je GeForce 3 radio sa prvim programabilnim shader-ima
u okviru DirectX 8. Shader Model 2.0 i dinamička kontrola toka izvršavanja shader programa
su stigli uz DirectX 9, dok DirectX 10 donosi brojna nova poboljšanja o kojima
smo pisali na prethodnim stranama. Rad na projektu koji je danas poznat kao
GeForce 8800 je započet još sredinom 2002. godine i već tada su postavljeni
neki od ciljeva, kao što su – bitno povećanje performansi u odnosu na tadašnju
generaciju grafičkih procesora (pod bitnim se misli na ubrzanja reda veličine
od 20 do 50 puta), bitno viši kvalitet prikaza, kao i mogućnost kalkulisanja
fizike u 3D okruženju, uz visoku programabilnost koja bi predstavljala otvorena
vrata za druge primene. NVIDIA je od tog trenutka usko sarađivala sa Microsoft-om.
Rezultat te saradnje je G80, sa svim prednostima koje smo na kratko pomenuli,
a koje ćemo podrobnije opisati na nekoliko narednih strana ovog članka.
Prethodna serija GeForce akceleratora je podatke „procesirala” linearno kroz
ceo pipeline ali je uvek svaki „zadatak” bio iniciran od strane sistemskog
procesora. Početak procesa je podrazumevao vertex shading, zatim pixel shading,
raster operacije i upisivanje „gotovih” piksela u frejm bafer. Naravno, nije
sve tako jednostavno i navešćemo samo da pixel shading u okviru G71 GPU-a ima
preko 200 sekvenci (faza). Kod G80 procesora, broj pipeline faza je manji,
a uvedena su i česta vraćanja na prethodne faze, ako je to potrebno. Ponekad
će isti deo Stream Processor engine-a dobiti data paket na
kome je već radio, ali je sada potrebno da ga obradi na drugačiji način. Sve
je ilustrovano na slici ispod. Prilikom opsivanja arhitekture R580 procesora,
istakli smo u više navrata da su trendovi u programiranju aktuelnih igara takvi
da broj piksela potrebnih za „ispunjavanje” 3D scene prevazilazi broj vertices-a,
i to u većoj meri. Iz istog razloga su se u ATI-ju odlučili da uopšte ponude
3:1 GPU arhitekturu, u kojoj će broj pixel shader jedinica biti značajno
veći od broja vertex unit-a. Sada se postavlja logično pitanje – ako se igre
„pišu” i dizajniraju tako da asimetrična arhitektura, sa više pixel od vertex shader jedinica,
bude efikasna u igrama, čemu uopšte unified shader pristup? Mislimo
da su dva naredna slajda koja ćemo prikazati dovoljna da objašnjenje odmah
sami shvatite. Arhitektura koja podrazumeva ALU jedinice sposobne za izvršavanje
isključivo vertex ili pixel kalkulacija, ma kako bila organizovana, nikada
ne može da pogoduje svim 3D igrama i aplikacijama na tržištu. Zapravo, čak
ni hipotetički savršen ne-unificirani GPU ne može da bude dovoljno efikasan
ni u okviru jedne igre, koja u jednom trenutku može da optereti vertex, a u
sledećem trenutku pixel shader jedinicu. Pristup sa Unified Shader arhitekturom
rešava ovaj problem na najefikasniji mogući način. Streaming procesori u okviru GeForce 8800 GPU-a mogu da procesiraju vertice,
piksele ili geometriju (linije i trouglove), ali i potpuno drugačije tipove
podataka. Ključ uspeha G80 arhitekture je veliki broj skalarnih Stream procesora,
koji su vrlo efikasni u izvršavanju shader operacija. Stream procesori
su usko povezani sa Texture Filtering (TF), Texture Adressing (TA) i cache
jedinicama, čiji su brzina i kapacitet posebno optimizovani za tako širok multiprocessing
kakav je prisutan kod G80 (128 SP jedinica kod GeForce 8800GTX-a). Pažljivije
čitaoce će možda iznenaditi činjenica da se u okviru Streaming procesora nalaze
skalarne ALU jedinice, pogotovo pošto je poznato da je dobar broj grafičkih
kalkulacija vezano za vektorske operacije (iako se u isto vreme javlja i ogroman
broj skalarnih operacija). Nakon što su analizirali impresivan broj shader instrukcija,
inženjeri NVIDIA-e su zaključili da bi se niz vektorskih ALU jedinica teže
snašao u radu sa skalarnim operacijama, nego u obrnutom slučaju. Dokaz za to
su i shader jedinice u okviru Radeon R580 GPU-a, koje imaju tzv. „3+1”
dizajn (tri vektorske i jedna skalarna ALU jedinica, o čemu smo pisali u prvom
testu Radeona X1900XTX), koje su manje efikasne u najvećem broju slučajeva,
u odnosu na „2+2” dual-issue dizajn kod G71 GPU-a (dve vektorske i dve skalarne
ALU jedinice, od kojih su po dve tzv. mini-ALU). U jednom trenutku, NVIDIA
inženjeri su morali da se odluče za jedan pristup: ili će kreirati Streaming
Processor koji sadrži 32 četvorokomponentna vektorska ALU-a, ili 128 više nezavisnih
skalarnih ALU jedinica. Nakon ubacivanja efikasnog sistema koji vektorske kalkulacije
prevodi u skalarne operacije, procenjeno je da je pristup sa 128 skalarnih
jedinica i do dva puta brži od onog koji su pre toga razmatrali. Lumenex Engine NVIDIA Lumenex Engine je marketinški naziv za tehnologiju koja je ekskluzivitet
GeForce 8800 serije kartica, a koja obezbeđuje znatno viši kvalitet prikaza
tekstura u anisotropic modu, kao i napredniji i viši nivo umekšavanja ivica.
Novi metod za antialiasing, Coverage Sampling Antialiasing ili CSAA koristi
nove metode „semplovanje pokrivanjem” kao i stari način sempliranja manipulacijom
geometrije (multisampling). CSAA donosi četiri nova metoda umekšavanja ivica,
koji omogućavaju do sada neviđen kvalitet prikaza ivica na objektima: 8x, 8xQ,
16x i 16xQ. Da bi ste aktivirali neki od novih AA modova, potrebno je da u
NVIDIA ForceWare Control Panelu izaberete opciju “Enhance the Application Setting”,
ali prethodno aktivirati bilo koji tip antialiasing-a iz same igre. Ako u igri
nema opcije kojom možete da aktivirate antialiasing, potrebno je izabrati opciju
“Override Any Applications Setting”, koja omogućava da bilo koji izabrani AA
mod radi u toj igri, ali koji možda neće raditi sa baš svakom igrom (mi se
sećamo da smo sa igrom Halo imali ovakvih problema). Ipak, sve moderne igre
imaju kontrolu umekšavanja ivica, pa će se najčešće koristiti prva navedena
opcija. U najvećem broju igara, 16x quality (CSAA) mod bi trebalo da „obezbedi”
isti pad performansi kao i stari 4x multisampling AA, ali uz značajno bolji
kvalitet, što smo i potvrdili empirijskim putem. Nažalost, kao što ćemo videti
nakon testova, pad performansi je nešto viši nego što NVIDIA najavljuje, pa
će se situacija, nadamo se, popraviti u narednim revizijama drajvera.
GeForce 8800 GPU-ovi podržavaju rad u FP16 i FP32 formatima koji su neophodni
za HDR rendering, koji sada mogu da rade i u kombinaciji sa multisampling antialiasing-om.
Već je poznato koliko anizotropno filtriranje poboljšava prikaz, čistinu i
oštrinu udaljenih tekstura na objektima koji se „vide” pod određenim uglom.
Ako se u tim slučajevima koristi bilinearni filtering, teksture u daljini izgledaju
veoma loše. Ovde nećemo davati neke konkretne primere, jer smatramo da naši
čitaoci već znaju koje su prednosti anisotropic filtering-a. Ono što čitaoci
možda ne znaju jeste činjenica da anizotropno filtriranje povećava intenzitet
saobraćaja kroz memorijsku magistralu. G80 GPU donosi nov metod anisotropic
filtering-a, koji se u okviru ForceWare Control Panela može izabrati klikom
na “Angular LOD Control” u quality i high-quality varijantama. I zaista, novi
sistem filtriranja tekstura je nezavisan od ugla pod kojim površina stoji,
što se lepo vidi na priloženim screen-shotovima. Kvalitet anisotropic filtriranja
je kod G80 kartica u odnosu na Radeon X1950 XTX u „normal” modu na mnogo višem
nivou, mada je nešto manji u quality modu, kada i R580 kartica pruža dobre
rezultate. Ipak, u odnosu na G71, koji u ovom aspektu značajno zaostaje za
Radeonima X1K serije, unapređenje je značajno.
Shader Math, Texture Operations, Early Z test i druge primene modernog
GPU-a
GPU-ovi prethodne generacije su trošili dosta ciklusa na adresiranje tekstura,
fetching i napredne vrste filtriranja kakav je npr. 16xAF. Fetching tekstura
nije mogao da bude izvršen pre izvršavanja funkcije adresiranja, što je u prethodnoj
generaciji učinjeno radi manje površine čipa i broja tranzistora. Da bi ove
funkcije bile jedna od druge nezavisne, potrebno je da GPU poseduje dovoljno
moćne ALU jedinice koje će se bez većih „zastoja” izboriti sa neophodnim matematičkim shader operacijama,
što je kod GeForce 8800 kartica moguće zbog postojanja brzih skalarnih aritmetičkih
jedinica i ne-linearnom pipeline-u. Takođe, kod G80 GPU-a je poboljšana i efikasnost grananja (branching) koja
je kritikovana kod G7x čipova, pogotovo od strane programera koji stoje iza
nekih od GPGPU projekata. Jedan od najvažnijih aspekata performansi grafičkog
procesora kada je u pitanju procesiranje kompleksnih (DirectX 9, a pogotovo
DirectX 10) shader programa je efikasnost u grananju. G80 je kreiran
da bude efikasan u procesiranju kompleksnih shadera i to u „segmentima”
od po 32 piksela. O tome koliko je važno da GPU efikasno prihvati male thread-ove
(paketi podataka) pisali smo u prvom Radeon X1K testu. Radeon X1800 je prvi
GPU koji pakete podataka procesira u „koracima” od po 48 piksela, što je znatno
efikasnije od prethodnih rešenja iz NVIDIA-e. Kako nam je ATI vrlo slikovito
pokazao zbog čega je rad sa manjim „blokovima” piksela efikasniji, očigledno
je da je tred u smanjenju tih „blokova” prisutan i kod nVidie. Naime, shader jedinice
kod nV40 su baratale sa tred-blokovima od ukupno 4096 piksela, dok G70 radi
sa četiri puta manjim pixel thread -ovima. Međutim, rad sa manjim
piksel blokovima ne znači i srazmerno višu efikasnost; od developera zavisi
kakav će shader napisati i kako ga optimizovati. Jako mala veličina
treda omogućava i rano izbacivanje nevidljivih piksela (“early out”), što dodatno
povećava efikasnost Z-jedinice. Novi GeForce 8800 je u tom smislu još efikasniji,
jer se threadovi obrađuju u „koracima” od po 32 piksela.
Poznato je da moderne igre koriste i Z-buffer za detektovanje skrivenih površina,
odnosno piksela koji će biti vidljivi, u finalnom prikazu na ekranu. Svaki
piksel ima tzv. Z-informaciju (praktično, radi se o koordinatama) i nakon transformacije
se otkriva da li je vidljiv ili ne. Pošto smo o ovome pisali više puta, pomenućemo
samo koje je novine na ovom polju doneo G80 GPU. Osim veće preciznosti pri
ranom izbacivanju skrivenih površina, GeForce 8800GTX je u ovoj operaciji brži
i do četiri puta od svog prethodnika. Pošto se ova operacija ranije vršila
u kasnim fazama na pipeline-u, svaki kompleksan shader program
bi bio izvršen praktično do kraja, da bi tek pri ulasku u ROP bio izbačen.
Upravo je pri dizajniranju „kružne” G80 arhitekture karakteristične po mnogo
„zaokreta”, implementirana nova Early-Z tehnologija koja omgućava da se skrivene
površine izbace pre nego što uopšte krenu kroz pipeline. Inženjeri
NVIDIA-e su proveli dosta radnih časova kako bi GeForce 8800 grafičkom čipu
podarili ne samo mnogo resursa, već i uravnoteženu arhitekturu. Veliki broj
streaming procesora ne bi bili efikasni ako memorijski podsistem nije u stanju
da ih „nahrani” informacijama, ili ako bi ROP sistem predstavljao usko grlo.
Takođe, GPU mora da bude dizajniran i osmišljen tako da njegovo „prebacivanje”
na silicijum bude uspešno – ne bi vredelo ni ako tehnologija izrade nije dovoljno
zrela, te čip ne može da postigne željene radne frekvencije ili su yield-ovi
loši. 128 streaming procesora predstavljaju intenzivni paralelizam, te je GigaThread
tehnologija ključna komponenta za postizanje visoke efikasnosti i savršenog
load-balancing-a.
Pošto su grafički procesori po sirovoj snazi dosta moćniji od centralnih,
ideja da se njihova “snaga” iskoristi i za ne-grafičke kalkulacije nije nova,
a devet meseci nakon demonstracije razvoja GPGPU (general purpose on GPU) aplikacija
na kalifornijskom Univerzitetu Stenford, USA, ATI i tim naučnika je (re)kreirao
Folding@Home, koji se sada izvršava u samom pipeline-u GPU-a, nakon što deo
sirovih informacija preuzmete sa udaljenog servera (slično poznatom SETI @
home projektu). NVIDIA se nije mnogo oglašavala po ovom pitanju, jer je svo
ovo vreme razvijala CUDA (Compute Unified Device Architecture) sistem koji
predstavlja run-time verziju kompajlera za klasu programskog jezika C, koji
se izvršava unutar GPU-a. I ne samo to, NVIDIA želi da kreira čitavo okruženje
za razvoj aplikacija baziran na ovoj platformi.
Prvi primer koji je demonstriran je vezan za kalkulacije fizike. Centralni
procesori imaju dva ili četiri jezgra od kojih svako u trenutku može da se
posveti izračunavanju jedne jednačine, dok GPU može odjednom da prihvati do
128 (u slučaju G80) takvih jednačina, pa iako će možda svakom od Stream procesora
biti potrebno više vremena da kalkulaciju dovedu do kraja, efikasnost GPU-a
je neuporedivo veća u odnosu na najmoćnije desktop centralne procesore. Demonstracija
koju je NVIDIA izvela uživo poredila je GeForce 8800 GTX sa Core 2 Duo E6700
procesorom (zbog toga što je cena ovog procesora slična ceni kartice) koji
radi na 2.67 GHz. Kalkulacije vezane za fiziku, G80 je završio 11 puta brže,
dok je sirove kalkulacije vezane za finansije izvršio 197x brže nego Core 2
Duo (zahvaljujući ogromnom broju efikasnih skalarnih ALU jedinica).
Kartica na testu – MSI NX8800 GT Overclocked Edition
Prva GeForce 8800 GT kartica nam stiže iz kompanije MSI, a ona ne samo što
je stigla premijerno, već se radi o fabrički overklokovanom modelu! U kutiji
koja već standardno izgleda „kao i sve MSI kutije”, spakovano je dosta dodatne
opreme: CD sa drajverima, Quick Installation Guide, Quick User Guide, MSI Multimedia,
zatim dva Molex > 6-Pin PCI Express konektora, TV-Out kabl na kome je razdelnik
na komponentni i S-Video standard, kao i S-Video kabl i DVI to VGA adapter.
Uz kartu nam stižu i dve igre – fenomenalni Colin McRae: Dirt i 15-dnevna trial
verzija igre LoTR Online.
Kartica je dugačka kao i high-end GeForce 8 modeli, ali ima single-slot hladnjak,
pa deluje manje glomazna od teškaša kakvi su GeForce 8800 GTX ili Ultra. Cela
kartica je prekrivena ovih kombo-kulerom i teško je na njoj videti mnogo el.
elemenata i komponenti. No, mi ipak znamo da se ispod njega krije 512 MB DDR3
memorije: u pitanju su sve češće susretani Qimonda DRAM čipovi, njih osam,
smštenih sa osnovne strane. Ovi primerci su namenjeni radnim učestanostima
od efektivno 2000 MHz (BF-10, 1.0 ns). Oficijelne učestanosti za jezgro su
600 MHz, odnosno 1.5 GHz za SP jedinice i 900 MHz za memoriju, ali se MSI odlučio
za agresivnija podešavanja – čak 660 MHz (10% više) za jezgro i 950 MHz, odnosno
1.9 GHz na koliko rade Qimonda čipovi. Čak i ovako overklokovana, MSI NX8800
GT OC kartica ne vuče mnogo više od 110W ni u najintenzivnijim 3D igrama.
Koliko se, s obzirom na visoke radne učestanosti i relativno mali kuler za
GPU sa gotovo milijardu tranzistora, zagreva ova kartica? U 2D modu, GPU može
da dostigne čak i 60 stepeni, što nije malo, dok se u intenzivnim 3D aplikacijama,
temperatura jezgra penje na 90 stepeni Celzijusa – ovu temperaturu još nismo
videli kod GeForce kartica, bar ne kada rade na default-u. I pored toga, sama
površina kulera nije vrela, ali postoje mesta na kartici na koja tokom dugotrajnog
igranja nisu prijatna na dodir.
Naponska jedinica je potpuno digitalna (Pulse Width Modulation tipa), a umesto
NVIO čipa, čiju je funkcionalnost preuzeo poseban deo G92 GPU-a, na PCB-u od
“zanimljive” elektronike zatičemo Primarion 3544 – čip koji je specifični kontroler
napona (optimizuje deo “struje” koja se preuzima sa PCI Express slota), a koji
služi i za monitoring radnih parametara kartice. Na MSI NX8800 GT kartici se
nalaze i dva Dual Link DVI slota i jedan Video-Out konektor. Sam kuler za GeForce
8800 GT je načinjen od aluminijuma, a jezgro koje dodiruje osigurani, obloženi
G92 GPU, načinjeno je od bakra. Površina G92 čipa je lepo ispolirana, što važi
i za finalnu obradu kulera. Sa gornje strane, veliki metalni profil sa 33 rebra,
prekriven je crnom, glossy plastikom i obeležjem proizvođača. Ne sumnjamo ni
u to da će neki od proizvođača ponuditi i dual-slot hladnjake, jer će u nekom
trenutku visoka temperatura biti prepreka za dalji overklok čipa koji je inače
raspoložen za visoke radne frekvencije. Kuler je dizajniran tako da uvlači
hladniji vazduh sa donjeg dela ploče i izbacuje ga prema konektorima kartice
– ali ne i van kućišta. Ipak, “izduvnici” su smešteni sa strana, tako da se
topao vazduh izbacuje pod uglom od 90 stepeni u odnosu na ravan ploče.
Međutim, to nije sve – u ovom kuleru se nalaze i tri bakarne toplotne cevi
koje služe za efikasniju raspodelu toplotne energije kroz kuler nemale površine.
Sada je već jasno kako je ovako tanak i naizgled skroman kuler spreman da ohladi
tako kompleksnu i veliku karticu. NVIDIA-i je ipak bilo bitno da kreira model
koji neće biti glomazan, već više elegantan, kako bi se omogućio što bolji
protok vazduha u SLI sistemima (naravno, kartica ima jedan SLI konektor). Ugrađeni
ventilator nema veliki promer. Ovaj 12V fan vuče 0.8 Ampera (maksimalno 9.6W)
i sposoban je za protok vazduha od 11.8 CFM. Pri maksimalnom broju obrtaja,
ovaj dual ball-bearing ventilator pravi buku od 51 decibela, ali je u praksi
dosta tih (osim na par sekundi kada se mašina inicijalizuje). Sve u svemu,
još jedna fantastično dizajnirana kartica iz NVIDIA-e i još jedna pravovremena
reakcija kompanije MSI.
Test Setup PCI Express kartice smo testirali na test sistemu prikazanom
u tabeli:
Procesor
Intel
Core 2 Duo E6700 @ 3600 MHz (400 MHz x 9), 1600 MHz QPB
Matična
ploča
ASUS
Striker Extreme NVIDIA nForce 680i (SLI) Chipset
Memorija
2
x 1024 MB Kingmax Hardcore PC800 (4-4-4-12, as DDR888)
Hard
Disk
Samsung SpinPoint
SATA II, 320 GB, 16MB Western Digital Caviar 2500JS SATA II 250 GB, 16MB
Video
Karte
HIS
Radeon HD2900 Pro (512MB DDR4) – Catalyst 7.10 Sapphire Radeon HD2900 XT (512MB DDR4) – Catalyst 7.10 XFX GeForce 8800GTS 320 MB – ForceWare 168.22 MSI NX8800 GT (512MB DDR3) – Forceware 169.04 ASUS EN8800 GTX (256MB DDR3) – Forceware 169.04
Monitor
Benq
241WZ TFT-LCD (ustupio KimTec)
Cooling,
Case, PSU
ThermalTake
BigTyphoon VX CoolerMaster WaveMaster CoolerMaster Real Power 850W SLI Certified
DVD
uređaj
Pioneer
DVR-112L
CDRW
uređaj
Pioneer
DVR-111D
Operativni
sistem
Windows
XP Service Pack 2 (optimized for performance) Direct X 9.0c
Igre/Bench
programi
3D
Mark 05 Pro 1.2.0
3D
Mark 06
SPECORG
SpecVIEW Perf 9
Doom
3
Quake
4
Prey
Company
of Heroes 1.3
Battlefield
2142
Unreal
Tournament 3
Call
of Duty 2
Call
of Duty 4: Modern Warfare
Half
Life 2: Episode Two
FarCry
v1.4
Crysis
Demo
The
Elder Scrolls IV: Oblivion
Need
For Speed: Carbon
X3
Reunion Demo Benchmark
World in Conflict
S.T.A.L.K.E.R
F.E.A.R
1.08
ATI kartice smo testirali sa Catalyst A.I podešenim na Standard. Ako je AF bio
uključen, to je podrazumevalo Quality setting, dok su Adaptive i Temporal anisotropic
filtering bili isključeni. Wait for vertical refresh odnosno Vertical Sync smo
isključili. Kod nVidia kartica, podrazumevani mip-map setting je Quality, trilinearne
optimizacije su uključene, anisotropic mip filter i sample optimizacije
isključene, a gamma correction pri antialiasingu uključen.
Nadamo se da će vam narednih 38 tabela pomoći u sagledavanju performansi ove
kartice…
FutureMark 3DMark 05 Pro
Izdanje 3DMark benchmark programa iz 2005 godine, može da se izvršava samo
sa Direct X 9 kompatibilnim akceleratorima. Sva tri testa koriste Shader Model
verzije 2.0, 2.0a, 2.0b ili 3.0 – u zavisnosti od podrške koju GPU ima (Radeon
9700 do X800 modela podržavaju SM 2.0 i 2.0b, dok nVidia FX akceleratori podržavaju
verziju 2.0 i 2.0a, a GeForce 7800GTX, kao i GF serije 6, podržava SM 2.0, 2.0a
i 3.0). Sva tri game demoa su izuzetno zahtevni, karakteriše ih jezivo visok
broj poligona koji opterećuje VS jedinicu, kompleksni shader programi (mapiranje
neravnina, osvetljenja, emulacija HDR, particle efekti, dinamične i meke senke,
subface scattering, napredni fog efekti (emulacija volumetric efekta), ali i
dosta postprocesing efekata. Najjače kartice danas isporučuju od 15 do 20 frejmova
u većini scena, a na najzahtevnijim delovima i manje!
FutureMark 3DMark 06 Pro
Novo izdanje 3DMark benchmarka može da se izvršava samo sa Direct X 9 kompatibilnim
akceleratorima. Tri prerađena testa iz prošlogodišnje verzije
koriste Shader Model verzije 2.0, dok najnoviji zahteva SM3.0 i 256 MB video
memorije Sva tri game demoa su izuzetno zahtevni, karakteriše ih još veći broj
poligona koji opterećuje VS jedinicu, kompleksni shader programi (mapiranje neravnina,
osvetljenja, emulacija pravog HDR osvetljenja, particle efekti, dinamične i meke
senke, subface scattering, napredni fog efekti (emulacija volumetric efekta),
ali i dosta postprocesing efekata. Novi test – Deep Freeze je grafički najimpresivniji,
a novi 3DMark ima i napredni CPU test, koji simulira upotrebu A.I. rutina u igrama,
kao i kalkulacije vezane za samu fiziku.
SpecORG SpecVIEW Perf 8.1
Koristili smo poslednju aktuelnu verziju koji se sastoji od čak osam celina.
SpecviewPerf meri performanse sistema pod OpenGL API-jem tako što simulira osam
standardnih industrijskih aplikacija. 3Dsmax-03 je bayiran na SPECapc za 3dS
MAX u OpenGL okruženju. U sceni su tri modela sastavljena od po približno 1.5
miliona vertices-a, a testiranje se vrši uz nekoliko tipičnih tipova osvetljenja.
Catia-01 je bazirana na Dassault CATIA inžinjering aplikaciji u kojoj modeli
imaju do dva miliona osnovnih linija. Ensight-01 je simulacija CEI EnSight inžinjering
aplikacije koja se koristi za vizuelizaciju. U test su ubačeni displej-list i
fast preview modovi rada. Light-07 je baziran na Discreet-ovoj Lightscape aplikaciji
koja koristi realtime radiosity senčenje. Maya-01, kako joj i samo ime govori,
simulira radno okruženje paketa kompanije Alias – Maya 5, nezamenljivi alat filmadžija
u Holivudu. Proe-03 je baziran na SPECapc okruženju za Pro-Engineer 2001, koji
u sceni primenjuje dva modela u tri shade moda (senčeni, wireframe i hidden-line
removal). SW-01 simulira Solidworks 2004 aplikaciju, koju izdaje Dassault Systems
i konačno, test Ugs-04, baziran na SPECapc Unigraphics V17 aplikaciji (odnosno
simulaciji iste), u kojem je prikazan model motora sastavljen od preko četiri
miliona osnovnih linija.
Call of Duty 2
Iako su prethodne Call of Duty igre koristile više klasičan
Quake 3 Team Arena engine, Call of Duty 2 koristi novi Direct3D engine razvijen
na bazi Quake 3 koda i prerađenog za Direct3D API. Prosto je neverovatno koliko
su detaljne displacement (normal i bump), specular i color-map teksture u ovoj
igri, dok su particle efekti i dim izuzetni, pogotovo kada imamo u vidu period
kada se igra pojavila. Nažalost, za uživanje u najvišim setovanjima,
potrebno je imati karticu u rangu sa, recimo, GeForce 7900 GTX ili Radeon X1950
XT. Mi smo, kao i uvek, testirali sa svim podešavanjima na maksimumu.
Opcija “optimize for SLI” ubrzava igru i u SingleGPU modu (na Radeon
i GeForce karticama), pa smo i nju uključili prilikom testiranja. Nemojte
da vas zavaraju niske cifre – ova prelepa igra jednostavno traži moćan
hardver, a ako je budete igrali uz najviši nivo detalja, verujemo da ćete
se složiti sa nama da je u pitanju možda i najlepša WWII igra
do sada (ako izuzmemo novi Medal of Honor Airborne).
Call of Duty 4: Modern Warfare
Za razliku od prethodnika, Call of Duty 4: Modern Warfare igrača postavlja
u okršaje novijih datuma. Baziran je na unapređenom “motoru” svojih
prethodnika, posebno verzije iz trećeg dela, koji se pojavio isključivo u
verziji za Xbox360 konzolu. Iako smatramo da bi rezultati koje daje sa današnjim
hardverom (kraj 2007. godine) mogli biti veći, ipak je u pitanju dobro optimizovana
igra: broj detalja odnosno dešavanja u sceni u svakom trenutku je fantastično
veliki, bilo da su u pitanju sitnice poput mapiranja neravnina, bloom i HDR
efekti, dinamičke senke i osvetljenja, efekti eksplozija i dima ili sveprisutni
depth-of-field tokom zumiranja. U igri svaki metak prolazi kroz materijale
kroz koje bi prošao i u realnoj borbi (drvo, staklo, tanak metal), uz adekvatno
usporenje i izmenu pravca. Igra koristi isključivo DirectX 9.0c, odnosno
Shader Model 3.0, a u verzijama za Xbox360 i PlayStation 3 izgleda kao i
sa maksimumom detalja na PC-ju, kako smo je i mi testirali. Pogledajmo rezultate:
Doom 3
Doom 3 testiramo sa ugrađenim Demo1 demo-om, na high podešavanjima (highest
koristimo kod kartica koje imaju bar ili više od 512 MB memorije), što podrazumeva
da je zvuk isključen, svi detalji na maksimumu (sve senke, poligoni i najveće
teksture), ali i da je uključeno osmostruko anizotropno filtriranje. Dodat je
i UltraHighQuality.pk4, koji omogućava da objekti bacaju senku sami na sebe (tzv.
self-shadow). Zvuk, AI i fizika su isključeni automatski, samim pokretanjem timedemo
komande.
Quake 4
Definitivno jedna od najboljih igara 2006. godine – “duhovni” naslednik
fenomenalnog Quake-a 2. Iako ne može da “prikazuje” velike otvorene
nivoe, Doom 3 engine itekako pokazuje koliko detalja sa lakoćom može
da prikaže u jednoj sceni. Apsolutno je neverovatno sa kolikom je pažnjom
tim dizajnera i programera u “Raven”-u pristupio pri izradi ove igre,
koja je, uz Call of Duty 2, jedan od najlepših FPS-ova, čak i nakon 18 meseci
od pojavljivanja. Za ljubitelje pravog hardcore uzbuđenja – obavezno štivo
je Quake 4 i to nekoliko puta, na najtežem nivou! Kao i uvek, testirali smo sa
najzahtevnijim “setup”-om, osim što smo “zadržali” kompresiju
color i specular tekstura, što znači da je Ultra Quality korišten
samo pri testiranju kartica koje imaju bar 512 MB memorije.
Prey
Jedna od najzanimljivijih i najinventivnijih “pucačina”, koja
stiže od kreatora “čuvenog” Duke Nukema, igra Prey zadržava
sve osobine klasičnog First Person Shootera, u koji uvodi elemente izmene
gravitacije, letenja u Descent stilu, a tu su i delovi koji traže da uključite “vijuge” kako
bi pronašli ostatak puta. Izrađena oko modifikovanog Doom III engine-a
(kome je dodata “Portal” tehnologija), Prey je vizuelno izuzetno atraktivan,
a igra je, iako dobro optmizovana, vrlo “stresna” za nove grafičke
kartice. Kao i uvek, testirali smo sa najzahtevnijim “setup”-om, osim što
smo “zadržali” kompresiju color i specular tekstura – što
znači da nije “aktiviran” Ultra Quality (koji se uključuje
iz konzole), već High Quality mod.
X3: Reunion
X3 Reunion je igra koja vam omogućava da iskusite život
u svemiru, u dalekoj budućnosti. Možete graditi, trgovati, boriti se
ili biti samo istraživač. Naravno, igra ne bi bila toliko zanimljiva
da nije grafičkih dostignuća koji se mogu opisati samo superlativima.
Iako nema nekih do sada neviđenih tehnologija, modelima brodova su bogato
dizajnirani, raznovrsni i po tipu, i po veličini i po ulozi koju imaju,
sa velikim brojem poligona (često preko pola miliona po sceni) , opskrbljeni
fantastičnim color i displacement (bump) teksturama. Okolina (sam svemir,
planete, asteroidi, magline…), kao da je još impresivniji, pa vas ova
igra uvlači u priču i svet i samim gledanjem rolling demoa.
Company of Heroes 1.3
Prva real-time strategija u našem test-suite-u, Company of Heroes, koristi
posebni next-gen engine koji Relic naziva “Essence Engine”. Ovaj engine
podr žava sve nove fancy efekte kao što su High Dynamic Range i dinamičko osvetljenje,
per-pixel senke, a displacement (normal) mapping je vidljiv na mnogim objektima.
Takođe, igra se obilato oslanja na napredne shader rutine, ali i licenciranu
Havoc fiziku, a pojedini objekti su destruktabilni, što donekle važi i za teren.
Kao i obično, u igri smo uključili sve moguće efekte, što se po frame-rate-u
i vidi:
World in Conflict
Druga real-time strategija u našem test-suite-u, World in Conflict, verovatno
je i dalje najimpresivnija RTS igra koja je izašla na PC tržište. Bazirana je
na novom Direct3D “endžinu” koji podržava čitav spisak novih efekata
kakve smo do sada viđali samo u, po pravilu najinovativnijim FPS igrama. Dakle,
tu su HDR, bloom i dinamičko osvetljenje, per-pixel senke, destruktabilni teren
i adekvatni view-sight, paralax i normal mapping, depth of field i čitav niz
drugih filmskih postprocessing efekata . Naravno, mi smo testirali sa maksimalnim
nivoom detalja:
Battlefield 2142
Umesto igre Battlefield 2, koristili smo novi Battlefield 2142 sa 1.10 zakrpom.
Ova igra je bazirana na istoj mašini kao i Battlefield 2, ali uz nekoliko dodataka
u koje spadaju detaljnije teksture, povremeni normal mapping, parallax mapping, dinamičke senke, post processing
efekti (blur, depth of field, bloom i sl.). Igru smo testirali na najvišim setovanjima
na jednoj od zahtevnijih mapa. Pogledajmo rezultate:
Unreal Tournament 3 Demo
Unreal Engine 3 je najpopularniji “motor” koji koristi poslednje
dve generacije DirectX API-ja i pored CryEngine 2, predstavlja trenutni “vrh
ponude” kad je igračka industrija u pitanju. Nema potrebe da nabrajamo
šta sve podržava, samo ćemo pomenuti neke prelepe naslove koje ste verovatno
već videli ili igrali: Bioshock, Rainbow Six: Vegas, Medal of Honor: Airborne,
BlackSite: Area 51, Gears of War, Mass Effect, Stranglehold i plejada drugih
igara koje su već izašle u verzijama za Xbox 360 ili su u najavi… Demo
Unreal Tournament 3 igre ne omogućava maksimalan već samo visok nivo detalja
kad su u pitanju teksture, međutim, i ovo je dovoljno zahtevno da i najnovije
grafičke kartice stavi na muke.
Far Cry v1.4
Igra koja je po mnogima redefinisala žanr, odnosno pooštrila kriterijume
kada su vizuelni aspekt, ali i gameplay u pitanju. CryTek-ov engine je demonstracija
mogućnosti Direct X 9 API-ja u praksi – tu je ogroman broj poligona i efekata
koji se izvršavaju u Shader jedinicama, celih 128 MB video memorije je po nivou
rezervisano i zajedno sve izgleda jednostavno fenomenalno. Fotorealistična grafika
i do sada najbolja fizika i dizajn nivoa su atributi ove fenomenalne igre. Tu
su i shaderi za Normal mapping, napredne enviroinment fizike, promenljiva geometrija
terena, dinamičke senke i osvetljenja, motion capture animacije… Testirali smo
sa Very high i Ultra high podešavanjima (gde je moguće), uz pomoć već snimljenog
i opšte prihvaćenog demoa. GeForce 6 i 7 serija kartica koristi Shader Model
3.0, ali smo, kao i kod Splinter Cell Chaos Theory, ovoga puta, aktivirali HDR.
Ovu igru ćemo “izbaciti” kada se na našem testu pojavi
prva prava DirectX 10 igra – dugo očekivani Crysis.
Crysis Demo Benchmark
Šta reći o najdetaljnijoj, grafički najimpresivnijoj igri i najzahtevnijoj
igri današnjice. U odnosu na Call of Duty 4 ili bilo koju drugu igru koja vam
može pasti na pamet – Crysis je bar za dva koplja iznad. Čak i na GeForce 8800
Ultra karticama i Quad Core mašinama, prosečan frame-rate iznosi dvadesetak frejmova
po sekundi, u iole višim rezolucijama. Mi smo testirali kroz standardni GPU benchmark
i to uz trik koji nam omogućava da “DX10-only” efekte vidimo i u DX9
okruženju.
Half Life 2: Episode Two
Treća epizoda Half Life 2 priče, odnosno četvrto poglavlje priče o “Frimenu
protiv korumpiranih vanzemaljaca”. Source Engine je bolji nego ikad, ali
se već vidi da počinje da gubi korak sa Unreal 3, a pogotovo Crytek tehnologijom.
No, poslednji build ipak ima svoje lepe osobine: broj pixel shader efekata je
veći, a teksture i objekti su detaljniji. Na pravi način su dodati i efekti poput
motion blur i depth of field-a, novi particle sistem omogućava bolje efekte varnica
i vatre, a sistem osvetljenja i senčenja je realniji (dostigao je nivo igre Doom
3 i Quake 4). Alpha teksture (ograda, trava, drveće, šine) kojih ima u velikim
količinama, sada imaju obavezno napredno filtriranje, pa izgledaju znatno bolje
u odnosu na iste iz prethodnih epizoda. I fizika je znatno poboljšana, mada u
ovom aspektu ni inicijalni Half Life 2 nije zaostajao. Druga epizoda donosi i
multi-core podršku, a sama igra je jako dobro optimizovana.
F.E.A.R 1.08
Ova fantastična, grafički impresivna i veoma zahtevna
horror igra je dobila zasluženo mesto u našem test batch-u. Testirali
smo u “ugrađenom” walkpath demou, koji ispisuje prosečan
broj frejmova. Naravno, sve moguće opcije vezane za grafiku, fiziku i zvuk
smo stavili na maksimum – sve osim mekih senki, koje ne rade sa antialiasingom.
S.T.A.L.K.E.R Ova pomalo bagovita igra, nakon dugog perioda razvoja, stiže na
PC mašine širom sveta. Neke je razočarala, ali je činjenica da predsavlja popriličan
stres za mašinu, a pogotovo grafičku karticu. Koristi napredne Shader Model 3.0 “efekte”,
ali se izrazito oslanja i na klasičan multitexturing i fiksne funkcije (nije
ni čudo, jer je razvoj na igri počeo kada je DirectX 7 bio aktuelan). Mi smo
tesitrali sa maksimalnim nivoom detalja dostupnim iz same igre. Testiranje obavljamo
fraps-om, nakon čega dajemo prosečan framerate tokom prvih 30 sekundi trčanja,
a test lokacija je deo mape sa samog početka igre.
The Elder Scrolls IV: Oblivion
O ovoj igri zaista ne treba mnogo pisati, jer je u pitanju ne samo najbolja RPG
igra iz prvog lica i dostojni naslednik prethodnih igara TES serijala, već i
grafički revolucionaran naslov. Oslonjen na poslednju verziju Gamebryo engine-a
(koji koriste i mnoge druge igre – Sid Meier’s Pirates!, Civilization IV, Dark
Age of Camelot itd.), Oblivion je sposoban da prikaže ogromna prostranstva prepunu
bogatom florom i faunom uz nezapamćeno visok nivo detalja. Igra podržava i Havok
engine za kalkulaciju fizike (nažalost, za sada samo od strane CPU-a). Zbog tehnike
na koju su Bethesdi ponosni, SpeedTree, koja svaki put drugačije generiše raspored
drveća i manjih stena, benchmark-ovanje u ovoj igri je pomalo nekonzistentno,
te zahteva veći broj ponavljanja. Mi smo se odlučili za merenje performansi unutar
veoma guste šume, u kojoj prolazimo između dva Eyelid-a (podzemne prostorije
drevne civilizacije) na konju, sve posmatrajući iz prvog lica (postoji i mogućnost
igranja iz trećeg lica). Svaka od tri vožnje je merena Fraps-om, zabeleženi su
srednji rezultati, a onda je dat prosek. Naravno, koristili smo najviši nivo
detalja koji je moguće postići iz same igre (bez self-shadows, koje nisu lepo
rešeni), uključujući i HDR+AA, gde je to moguće.
Need For Speed: Carbon
A za sve ljubitelje Need For Speed serijala, evo i rezultata iz novog nastavka
ove popularne franšize – Carbon. Igra je inicijalno razvijana
za Xbox360 i znatno je grafički poboljšana u odnosu na Most Wanted
(mnogima se doduše ne sviđa motion blur); teksture su detaljnije,
broj objekata koji su animirani znatno veći, AI NPC-ova je bolji, a broj
poligona je tri puta viši uz bolje efekte. Tu su i neki lepi noviteti
kao što je DOF, HDR i poneka paralax occlusion mapa… Pogledajmo rezultate
iz verzije 1.2.
Overclocking Pošto je MSI NX8800 GT OC već u startu dovoljno overklokovana, nismo očekivali
da ide mnogo dalje od toga. Stigli smo do nekih 695 MHz za jezgro i 980 MHz za
memoriju (1960 MHz DDR), što je sasvim dovoljno imajući u vidu male dimenzije
našeg CoolerMaster WaveMaster kućišta.
Zaključak
GeForce 8800 GT je jedna od najprimamljivijih kartica koju je NVIDIA ponudila
u poslednjih nekoliko godina. Još od vremena GeForce 4 Ti4200 nismo imali karticu
koja je po performansama tako bliska najbržem modelu po dva do tri puta nižoj
ceni (u zavisnosti da li posmatramo cenu GTX ili Ultra modela). GeForce 8800
GT, odnosno MSI NX8800 GT kao njegov prvi, ljuti predstavnik, kombinuje visoke
performanse najjače serije sa kompletnim PureVideo HD 2.0 mogućnostima, po
neverovatno povoljnoj ceni – nižoj čak i od GeForce 8800 GTS modela sa 320
MB memorije. Štaviše, po ceni GeForce 8800 GTX kartice, možete sebe častiti
sa dva preko specifikacije ubrzana GeForce 8800 GT modela i dobiti performanse
kakve ste, za taj novac, do juče samo mogli da maštate; ova varijanta će sigurno
biti primamljiva vlasnicima velikih Full HD monitora, koji se cenovno
polako spuštaju prema magičnoj granici od 500 evra. 512 MB memorije je sasvim
dovoljno, a videli smo da je u pojedinim situacijama, svega 320 MB VRAM-a žestoko
oborilo performanse GeForce 8800 GTS 320MB modelu (World in Conflict, npr.).
Za konkurenta još više zabrinjavajuća činjenica da je GeForce solucija od 250
evra vidljivo brža od 100 evra skupljeg Radeon HD2900 XT akceleratora, od koga
ima superiorniji kvalitet anisotropic-a, a sada i umekšavanja ivica, bolje
overkloking potencijale, termalne i akustične karakteristike. I zaista, sve
što AMD u ovom trenutku ima da ponudi po sličnoj ceni jeste Radeon HD2900 Pro,
koji je ili nedovoljno brz ili nedovoljno jeftin. Radeon HD2900 GT neće situaciju
promeniti na bolje – čekamo samo RV670, odnosno HD3xxx familiju, a pitamo se
koliko će one brzo biti dostupne domaćem kupcu pre nego što vrag sa GeForce
8800 GT stvarno odnese šalu (odnosno marketshare u vrućem high-season periodu).
GeForce 8800 GT je brži od bilo kog GTS-a, pa čak i izuzento overklokovanog
XFX TrippleX modela, dok je MSI NX8800 GT OC često u rangu sa bar dva puta
skupljim 8800 GTX akceleratorima! Ako želite da igrate Gears of War i Crysis, ili
ako ponovo, u većoj rezoluciji, sa svim detaljima, hoćete da doživite podvodni
grad “Rapture” iz fenomenalnog BioShock-a, GeForce 8800 GT se nameće
kao logično rešenje. Ako ste ljubitelji taktičkih igara, uživaćete u DX10 verziji Company
of Heroes, ili čarobnog World in Conflict-a, dok su ljubitelji
pucačina zatrpani vrhunskim naslovima kakvi su Call of Duty 4: Modern Warfare,
Enemy Territory: Quake Wars ili Unreal Tournament 3. Ljubitelje
trka čeka novi NFS ProStreet, a ni DiRT ne spada u slabo
zahtevne igre. Kad smo već kod ovog fenomenalnog relija – vredi pomenuti da
ga MSI daje uz svoju overklokovanu NX8800 GT karticu po vrlo povoljnoj ceni
koja neće prelaziti 250 evra. NVIDIA je G80 arhitekturu poboljšala u svakom
smislu – ponudila je bržu, za proizvodnju jeftiniju karticu u vrlo atraktivnoj
cenovnoj kategoriji i konkurentu zadala težak udarac u nezgodnom trenutku.
MSI je, kao premium partner, bio jedan od prvih koji je u prodaji
imao prilično overklokovan model, koji košta zanemarljivo više od “običnog”
modela, te zato zaslužuje našu nagradu “Najbolja kupovina”. Srećno igranje!
MSI NX8800 GT Overclocked Edition – Benchmark Best Buy Award
Grafičku karticu na test ustupila kancelarija kompanije MSI.