Branko Maksimović
NVIDIA GeForce 8800GTX – ASUS EN8800GTX
Uvod
Druga polovina poslednjeg kvartala u godini je na zapadnim tržištima prepoznatljiva
po laganom zahuktavanju Božićne sezone. U ovom periodu ljudi troše najviše
novca, pa je uvek najbolje da se novi proizvodi plasiraju baš tada. Pošto je
tada ponuda bogatija nego inače, potrebno je da vaš proizvod bude bolji od
konkurentskog, da ne bude suficitaran i dostupan na što širem području. Da
bi svi uslovi bili ispunjeni, NVIDIA je svojim Add-in-board partnerima odredila
da pošiljke sa karticama nove GeForce serije pošalju distributerima dve nedelje
pre oficijelnog „lansiranja”, kako bi već 8. novembra svako ko želi, mogao
da ih kupi. Potražnja je i ovoga puta prevazišla ponudu, pa su cene bile veće
od preporučenih. Na tržištu desktop 3D akceleratora, knjiga je spala na dva
slova – A i N, kompanije ATI i NVIDIA čiji tržišni rat kao da traje godinama.
Iako traje duže, borba dva druga titana, Intel-a i AMD-a je mnogo manje žustra
ili bar deluje kao da ima manje obrta, jer se izmene na tronu retko dešavaju.
Kod grafičkih kartica, odnosno čipova, promene su česte i dok u jednom trenutku
imamo suverenog lidera performansi, već sutra se može desiti da donedavni šampion
deluje kao smešna igračka koja ne može da „gura” najnoviju igru sa svim detaljima
i pri maksimalnom anizotropnom filtriranju i umekšavanju ivica. I kvalitet
prikaza napreduje, pa „stara” grafička kartica može da pruži samo već prevaziđen
nivo AA i AF filtera, a to joj već u startu kompromituje poziciju na tronu.
Kako stvari stoje, u poslednjih nekoliko meseci, NVIDIA je imala najbržu grafičku
karticu, ali da bi prestigla tada najbržeg Radeona X1900 XTX, bila su potrebna
dva G71 čipa. Nakon toga, ATI je još jednom ponudio R580 baziran akcelerator,
uparen sa najbržom GDDR4 memorijom čije su gotovo sve količine otkupljene od
jedinog proizvođača koji je uspešno „štancuje”. To nije bilo dovoljno da GeForce
7950GX2 bude nadmašen, ali je Radeon X1950 XTX imao svojih prednosti – bolji
kvalitet filtriranja tekstura, FP16 blending (čuvena AA+HDR kombinacija) i,
najvažnije, bolji odnos cene i performansi. Ova dva akceleratora do visokih
performansi dolaze na potpuno različite načine – NVIDIA to postiže sa dva čipa
na nižem taktu, uparenim sa 2 x 512MB sporije i jeftinije memorije, dok ATI
ide na sirovu snagu svog shader monstruma, koji na visokom taktu od
650 MHz, komunicira sa VRAM-om podešenim na 2000 MHz! Budućnost ova dva rivala
se, kao i njihova dosadašnja rešenja u najvišoj klasi, dosta razlikuju. ATI
je sada deo kompanije AMD, koji će diktirati buduće poslovne poteze, te u tom
smislu možemo videti nešto drugačije projekte (od onih koje bi, naučeni dosadašnjim
iskustvom mogli da očekujemo), dok će NVIDIA učiniti sve da poveća marketshare na
što više tržišta koja imaju veze sa grafikom – desktop, workstation, notebook,
mobile, handheld, cellphone…
Osim novih kartica, čiji ste veliki tekst
upravo počeli da čitate, NVIDIA predstavlja i high-end čipset za Intel procesore
– nForce 680i. Za sada ništa od naslednika pete generacije ovog čipseta za AMD
procesore, što je i očekivano, obzirom na sve okolnosti, a dalje „zbližavanje”
sa Chipzillom je sasvim verovatno. NVIDIA pokušava da osvoji što veći marketshare na
tržištu čipsetova, što može da bude indikacija i na spremnost da se upusti u
tržišni rat sa kompanijama koje proizvode grafičke i sistemske procesore, kao
što je to sada AMD, a možda će biti i Intel, pošto se „šuška” da se ovaj gigant
sprema da krene i na tržište discrete grafike.
I što je još zanimljivije, neki projekti vezani za univerzalni procesor, koji
će biti CPU i GPU u isto vreme, su već poznati i izvesno je da će ugledati
svetlost dana kao konačni proizvodi. Kako će NVIDIA odgovoriti na ove trendove,
ostaje da se vidi, ali se neki koraci koji su indikacija da se politika kompanije
lagano menja, već naziru. Kako su grafički procesori odavno moćniji od centralnih
u smislu sirove moći procesiranja, i kako je dokazano da osim obrade grafičkih
kalkulacija uspešno obavljaju i druge tipove instrukcija, nije neizvesno da
će neki budući GPU imati i specijalnu jedinicu koja će imati zadatak da zameni
ili bar pomoći ostatku pipeline- a, da zameni CPU i kao takvim, učini
ga viškom unutar sistema. Taj svestrani CPU bi mogao da preuzme ulogu CPU-a,
grafičke kartice, memorijskog kontrolera, mrežnog adaptera, zvučne kartice,
akceleratora fizike … komunicirao bi sa univerzalnom, superbrzom memorijom
preko široke magistrale, a računar bi onda po koncepciji mnogo više ličio na
igračku konzolu nego na nekadašnji PC. Možda je i vreme, pošto se koncepcija
PC-ja nije menjala od vremena 286-ice!
No, u ovom trenutku još uvek imamo klasične grafičke kartice kojoj količina
video memorije raste, kompleksnost grafičkog čipa trostruko prevazilazi onu
kod modernih CPU-a, a potrošnja energije prevazilazi potrošnju čitavog ostatka
računarskog sistema! Novine su unificirani shader-i, redizajniran API i još
veća nezavisnost od ostatka sistema, ali… grafička kartica se i dalje koristi
za ubrzavanje 3D grafike, mada je sve izvesnije da će se moć ovih monstruma
veoma brzo uposliti i na drugim poljima. Pogledajmo detaljnije šta to novo
donosi GeForce 8800.
DirectX 10 – san razvojnih timova
DirectX je interfejs, odnosno “okruženje” za kreiranje aplikacija, i kao
brojni drugi API-ji, njihovo funkcionisanje je vezano za rad operativnog sistema.
DirectX je prvi put predstavljen uz Windows 95, a svoju najbitniju prekretnicu
je imao kada se pojavio Windows XP, prvi operativni sistem koji je bio „gaming
friendly”. DirectX 8 je doneo rad sa kratkim programima koji se izvršavaju
u namenski kreiranom delu grafičkog procesora; ovi kratki programi, odnosno shaderi su
u stanju da prilagode, tj. programiraju pixel ili vertex jedinicu,
odnosno pronađu najefikasniji način da se jedna SIMD instrukcija izvrši unutar
specifičnih i manje specifičnih ALU jedinica. Ovaj koncept je u igračkoj industriji
zaživeo brže nego što su u Microsoft-u računali, te u početku nisu bili spremni
da izbace novu verziju DirectX API-ja, koja je pre svega „fokusirana” na to
da sva ograničenja koja je prethodna generacija postavljala budu prevaziđena,
kao i da performanse budu više. I dok su prethodne verzije ovog API-ja bile
više nadogradnja i ubacivanje novih mogućnosti, DirectX 10 je redizajniran
i kreiran tako da kranje performanse budu primarni cilj. Takođe, DirectX 10
je tu da programerima „da odrešene ruke”, tj. da im ne postavlja 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 prva video kartica na tržištu koja podržava Microsoft DirectX
10 Shader Model 4 u okviru Windows Vista operativnog sistema. DirectX 10 neće
biti moguć u Windows XP OS-u, a kako Vista još nije zvanično izašla (poslata
je OEM i system builder-ima), tako nije ni čudno što NVIDIA još uvek nije izbacila
DirectX10 ForceWare drajver.
Jedna od najvećih mana kod programiranja igara za PC jeste sama koncepcija
ove platforme. PC je, kao što znamo, mašina namenjena za različite tipove upotreba,
koja se shodno tome i konfiguriše. Međutim, koncept sistema je u svim slučajevima
praktično isti, pa na putu ka visokim performansama pojedinih podsistema postoji
mnogo prepreka, odnosno nečega što nazivamo „uskim grlom”. 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 izgledaju realistično ili foto-realistično
jeste upravo večiti problem koji u svojoj koncepciji ima grafički API,
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 (dobar
primer su brojne outdoor igre – Oblivion,
Gothic 3 i sl.). 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.
DirectX 10 – 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. Tako sada „instancirane”
objekte možda nećemo moći ni da prepoznamo, jer će samo naizgled ličiti jedan
na druge, a mogu imati drugačije osobine (teksture, materijale, itd.) dok
je ušteda u GPU vremenu 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 Per-Pixel Displacement Mapping
kakav se izvodi na softverskim (offline) renderima, ali u realnom vremenu i po
kvalitetu "konkuriše" drugim rešenjima, poput paralax
mapping-a (koji je procesorski zahtevniji) ili relief i offset
mapping tehnikama
(koje ne pružaju toliko realan displacement)
Novi 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.
G80 – prvi DirectX 10 grafički procesor
Baziran na potpuno novoj arhitekturi, GeForce 8800 GPU, prethodno poznat kao
G80, prvi je grafički procesor koji ima potpunu DirectX 10 kompatibilnost.
Sastoji se od 128 individualna Stream Procesora koji rade na fantastičnih 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.
U razvoj ovog impresivnog grafičkog čipa je uloženo 400 miliona dolara,
a neki stručnjaci se slažu u tome da predstavlja najznačajnije unapređenje
od pojave prvog GeForce 256 procesora. 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… sve to bez izuzetka. Osma
generacija GeForce kartica stiže u formi dva najjača predstavnika, GeForce
8800GTX i GeForce 8800GTS. Kao što vidimo, GTS sufiks je varskrsnuo – nije
ga bilo još od kada smo „sahranili” GeForce kartice druge generacije. Da li
to znači da ćemo uskoro videti i GeForce 8800 Ultra, koja će možda stići sa
bržom, GDDR4 memorijom. Nema razloga da se to ne desi, jer se očekuje da Samsung
uskoro izbaci i 0.5 ns GDDR4 čipove. Izrađen u 90 nanometarskom proizvodnom
procesu u pogonima „tajvanske kompanije za izradu poluprovodnika” (TSMC je
zapravo skraćenica za bukvalan engleski prevod ovih reči), G80 čip čini enormnih
680.9 miliona tranzistora koji se „prostiru” na 484 kvadratna milimetra prenapregnutog
silicijuma – površina koja je veća od dva Intel-ova Quad Core procesora! Slike
čipa koje ćete videti su napravljene sa samim heat-sprederom, kakve viđamo
na svim modernim sistemskim procesorima, a koji omogućavaju da se čip bolje
hladi. NVIDIA nije odustala od klasične crossbar memorijske magistrale, čija
je „širina” sada 384 bita (6 x 64 bita), zbog čega je i količina ugrađene memorije
povećana na 768 MB. Memorijski kontroler je, ipak, dožive upgrade, pa sada
podržava i rad sa GDDR4 memorijom. Da li je potrebno navoditi da je G80 kreiran
isključivo za PCI Express x16 magistralu?
Prve kartice bazirane na G80 čipu su GeForce 8800 GTX koja ima 768 MB
GDDR3 memorije, a čiji čip radi na 575 MHz (Stream ALU procesori rade na 1350
MHz). Ukupan broj teksturnih jedinica je 32, a broj Raster Operatora je 24, dok
je broj unificiranih procesora čak 128. Memorija je podešena na efektivnih 1800
MHz i ovako konfigurisana kartica ima preporučenu cenu od 599 dolara, a očekivana
cena na evropskom tržištu je oko 550 evra, u trenutku kada ponuda bude veća
od potražnje. GeForce 8800 GTS koristi isti čip, ali sa 96 unified procesora
i klokovima od 500 / 1200 MHz za GPU i 1600 MHz za video memoriju, koje ima
u količini od 640 MB. Broj TMU jedinica je 24, a ROP – 20. Cena ove kartice
je 449 dolara na američkom tržištu, odnosno oko 400 evra na evropskom.
Nakon tabele, pogledaćemo i oficijelnu specifikaciju:
GeForce 8800 Graphics Accelerator
Official name ‘GeForce 8800’.
Codename ‘G80’.
90nm process technology.
681 M transistors.
Unified architecture (an array of shared processors for streaming processing
of vertex and pixels as well as other types of data).
Hardware support for the latest DirectX 10 innovations, including Shader
Model 4, geometry generation and shader data buffering.
384-bit memory bus, 6 independent 64-bit controllers, GDDR4 (1.8 GHz) support.
575 MHz core clock (GeForce 8800 GTX).
128 scalar floating-point ALUs (integer and floating-point formats, 32-bit
FP precision to meet the IEE 754 standard, clock-lossless MAD+MUL).
Doubled ALU clock rate (1.35 GHz for 8800GTX).
32 texture units, support for FP16 and FP32 texture components.
64 bilinear filtering units (makes possible "free and honest" trilinear
filtering and doubles performance of anisotropic filtering).
Dynamic branching of pixel and vertex shaders – 8×4 (32) pixel planner
size.
6 wide ROPs (24 pixels) supporting AA with up to 16 samples per pixel,
including the FP16/FP32 frame buffer format (in other words, makes possible
HDR + AA). Each ROP features an array of flexibly configurable ALUs and handles
generation and comparison of Z, MSAA, blending. Peak performance of up to
96 MSAA samples (+ 96 Z) per clock (192 samples per clock in colourless (Z-only)
mode).
Up to 8 simultaneous frame buffers with up to 8 Multiple Render Targets
Dedicated interface chip, NVIO. Features 2 x RAMDAC, 2 x Dual DVI, HDMI,
HDTV.
Very good architecture scalability. Each memory controller and each of
ROPs (6 total) or shader units (8 x TMU+ALU) can be blocked or removed.
Very large crystal size.
GeForce 8800 – Unified Architecture
Verovatno je najveći broj čitalaca impresioniran veličinom samog G80 grafičkog
čipa, a broj od 128 unified shader / stream procesora zaista uliva strahopoštovanje.
Međutim, terminologija se od sada mora izmeniti, jer ono što sada nazivamo pipeline- om,
više se ne odnosi na ono što smo nekada tako zvali. Kod prethodnih generacija 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.
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) – 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.
Unified Shading
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 Processors
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 (od latinskih reči luminosus i lumens) 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 ima 10 do 25% veći „udarac
na performanse” od klasičnog 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. Čak ako uporedimo default
AF mod na GeForce 8800GTX kartici sa Quality anisotropic-om kod Radeona X1950
XTX, videćemo da je novi GeFroce u prednosti.
Decoupled Shader Math, Branching i Texture Operations
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.
Za precizniju ilustraciju efikasnosti G80 i R580 GPU-ova u izvršavanju
malih thread-ov možete konsultovati tabelu koju dajemo ispod:
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. 128 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.
GeForce 8800 – NVIDIA CUDA i Pure Video HD
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).
Deo CUDA sistema vezan za kalkulaciju fizike je nazvan Quantum Effects, koji
je još u razvoju, a o kome ćemo detaljnije pisati kada do nas stigne više konkretnih
informacija.
PureVideo HD
PureVideo HD sistem je još jednom doživeo kvalitativno poboljšanje, pre svega
zahvaljujući činjenici da GeForce 8800GTX i GTS sada rade uz 10-bitnu preciznost
po kolornom kanalu. PureVideo HD je napredan sistem za hardversku reprodukciju
novih formata namenjenih za filmove visoke rezolucije. WMV9 i H.264 su izuzetno
zahtevni kodeci, a ako želite kvalitetno i napredno filtiranje, kompenzaciju
pokreta i najviši kvalitet reprodukcije onda će i najjači CPU-ovi današnjice
biti opterećeni i do 80-90% samo tokom dekodiranja, što onemogućava da ostatak
resursa bude slobodan za druge zadatke. NVIDIA PureVideoHD 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 (napredna varijanta unsharp mask filtera),
uz dodatno poboljšane performanse. Ne treba zaboraviti da će nove verzije kodeka
uvek brzo biti hardverski podržane, pošto je PureVideoHD “programabilan” feature.
Ceo spisak mogućnosti PureVideoHD sistema je sledeći :
• NVIDIA PureVideoHD Features
• Adaptable Programmable Video Processor –
NVIDIA PureVideo is a programmable technology that can adapt to new video encoding
formats as they are developed, providing a future-proof video solution.
• MPEG-2 Decode Acceleration – Allows smooth
playback of all MPEG-2 videos with minimal CPU usage – freeing the PC to do
other work. Requires MPEG-2 decoder.
• H.264 Decode Acceleration – Enables the
delivery of Hollywood movies stored on Blu-Ray or HD-DVD discs
by decoding H.264 content and significantly reducing CPU utilization.
• WMV Decode Acceleration – Playback videos
in Microsoft’s Windows Media Video High Definition (WMV HD) format without
skipping frames or losing video detail.
• Inverse Telecine
(3:2 & 2:2 Pulldown Correction) –
Recovers original film format data to provide more accurate video playback
and superior picture quality for both SD and HD interlaced content. Requires
supported video software.
• Bad Edit Correction – Detects disruption
of the normal 3:2 or 2:2 cadence resulting from poor edits made after a film
has been converted from 24 frames to 25 or 30 frames per second video format.
Uses advanced processing techniques to recover the original film content and
display smooth, natural looking video.
• Spatial-Temporal De-Interlacing – Smoothes
SD and HD video playback on progressive displays to deliver a crisp, clear
picture that rivals high-end home theater systems. Requires supported video
software.
• High-Quality Scaling – Allows for upscaling
of a low-resolution video to HDTV resolutions (up to 1080p), while maintaining
a clear, clean image. Also allows for downscaling videos, including high-definition,
without experiencing any annoying flicker, while preserving image detail.
• Video Color Correction – Corrects differences
in color characteristics of RGB monitors and TV monitors through NVIDIA PureVideo’s
ProcAmp Color Controls settings, such as Brightness and Contrast. The display
gamma correction ensures videos are not too dark, overly bright, or washed
out regardless of the video format or display.
• Integrated SD and HD TV Output – Connects
to your standard definition or high-definition TV via Composite, S-Video, Component,
DVI, or HDMI connections. Supports resolutions up to 1080p depending on connection
type and TV capability.
GeForce 8800GTX Demo – Adrianne
GeForce 8800GTX Demo – Froggy
GeForce 8800GTX Demo – Waterworld
O samim demoima ćemo imati više informacija do narednog testa
GeForce 8800 GTX kartice, kada bude spremni za download (za sada postoji samo
video i fotografije) i kada ih budemo i sami probali.
Kompletna GeForce ponuda
Aktuelna ponuda GeForce kartica nije jednostavna, ali je koncipirana tako
da u svakom segmentu postoji dobro rešenje, pa i još jedna varijanta kojom
praktično dobijate nešto slično, ali drugačije. Naravno, tu mislimo na razne
kombinacije sa SLI Dual GPU sistemima. U vrhu ponude je GeForce 8800GTX sa
preporučenom cenom od 599 dolara ili 549 evra, zatim GeForce 8800GTS koji je
zacenjen na odličnih 449 dolara ili 399 evra, koliko košta i Radeon X1950 XTX
(od koga je GeForce 8800GTS, svakako, brži).
Po ceni od 299 dolara ili 269 evra, i dalje će se prodavati GeForce 7950GT
(GeForce 7950GX2 će uskoro biti povučen iz prodaje), dok 7900GS zadržava cenu
od 199 dolara ili 179 evra. Cena GeForce 7600GT se spušta na 159 dolara ili
140 evra, dok će referentno izdanje GeForce 7600GS kartica sa DDR2 memorijom
biti moguće pazariti za 150 dolara, odnosno 125 evra. Na kraju, GeForce 7300GT
kartice bi, bez obzira na instaliranu memoriju, trebalo da koštaju manje od
100 evra / dolara, dok GeForce 7300GS dobija cenu od 60 evra. U ponudi ćemo
verovatno još uvek moći da nađemo GeForce 7300 i 7300LE sa HyperMemory sistemom
koje će koštati isto kao i GeForce 7300GS, pa ko „zagrize”, njegov problem…
Kartica na testu – ASUS EN8800GTX
NVIDIA je najavila da će GeForce 8800GTX i GTS kartice u ponudi svih launching AIB
partnera biti dostupne u prodaji na dan kada je njihova zvanična premijera
(8. novembar 2006.). Kao što možemo videti na slikama, GeForce 8800GTX se od
GTS verzije ne razlikuje samo po konfiguraciji G80 čipa i radnim frekvencijama,
već i po samom PCB-u. I u slučaju G70 i G71 čipova smo bili iznenađeni kada
smo videli da jedan deo GPU-a radi na višim taktovima u odnosu na ostatak,
ali je to kod G80 stvarno izuzetno izraženo. G80 zvanično radi na 575 MHz (memorijski
kontroler, 2D engine, ROP jedinice…), dok shader jedinica (Stream Processors)
radi na 1350 MHz. Međutim, sada smo tu da pričamo o samoj kartici. A ona je
zaista impresivna, i to u “već smo videli Radeon X1950 XTX i GeForce 7950GX2”
smislu impresivna . Njena dužina je 26.7 cm, što je više od širine
full-ATX matične ploče, pa smo se zabirnuli hoće li uopšte stati u naš CoolerMaster
WaveMaster koji spada u Midi Towers. Poređenja radi, druga po redu najduža
kartica, Radeon X1950 XTX je 40 milimetara kraća. GeForce 8800GTX sa svojim
dual-slot rashladnim sistemom koji se prostire gotovo čitavom dužinom kartice,
teži čitavih 750 grama. Zbog dužine PCB-a, konektori za eksterno napajanje
su smešteni sa gornje strane, pri samom kraju, jer se može desiti da kartica
teško stane u dobar deo konvencionalnih kućišta.
referentni GeForce 8800GTX
referentni
GeForce 8800GTS
Implementacija novog, kompleksnog GPU-a kakav je G80 je zahtevala dizajniranje
potpuno novog PCB-a. G80 je izuzetno zahtevan po pitanju potrošnje, a visoke
radne učestanosti zahtevaju precizno napajanje bez ikakvih varijacija u naponu
ili jačini struje. Osim toga, GPU ima šest 64-bitnih crossbar „puteva” ka memoriji
što usložnjava vodove ka memorijskim čipovima. Tu je i prisustvo posebnog čipa,
NVIO, o kome ćemo više reći nešto kasnije. Trećina PCB-a je pokrivena komponentama
koje čine naponsku jedinicu, jer je ovaj 681-milionski GPU monstrum izuzetno
zahtevan kada je potrošnja u pitanju (u rangu je sa već pomenutim Kentsfield-om).
Oba kabla za eksterno napajanje moraju biti povezana, inače će vas kartica
zvučnim signalom (zbog koga je, pored samih 6-pinskih priključaka za napajanje,
smešten standardni speaker kakav viđamo na dial-up modemima) upozoriti
da nešto nije u redu, ili će raditi na sniženim frekvencijama. Da bi se pravilno
napajala, GeForce 8800GTX kartica zahteva 30 Ampera na dve 12V grane (po 15A
na svakoj).
Manji FCBGA čip koji je smešten na poziciji na kojoj obično zatičemo dosta
manji video koder čip, ima oznaku NVIO-1-A3, a koji predstavlja skup TMDS transmitera
i eksterni RAMDAC. Ovaj čip je ranije bio tema spekulacija – neki su smatrali
da se radi o sekundarnom GPU-u i da G80 zapravo predstavlja čipset koji se
sastoji od jačeg procesora koji ima 256-bitnu magistralu i komunicira sa svojih
512MB memorije, dok drugi GPU sa 128-bitnom magistralom ima sopstvenih 265MB
memorije (red memorijskih čipova je, kao za inat, smešten baš između velikog
i malog „GPU”-a). Naravno, NVIO čip (IO stoji za Input/Output) je specijalizovan
čip koji ima ulogu dual TMDS transmitera i RAMDAC-a. Ove komponente moderne
grafičke kartice imaju zadatak da proslede signal (sliku) ka monitoru, odnosno
nekom drugom displeju. Ovaj čip obezbeđuje i podršku za HDCP, ali predstavlja
i svojevrsni compositing engine za SLI (otuda vodovi od ovog čipa ka dva SLI
konektora koje vidimo na PCB-u). I kako je ATI tek uvrstio svoj compositing
engine unutar GPU-a, NVIDIA ga je, zajedno sa TMDS, RAMDAC i HDCP komponentama
odvojila u zaseban procesor. To je verovatno bilo neophodno zbog toga što je
G80 ionako kompleksan GPU čiji Stream procesori rade na izuzetno visokom taktu,
što može da stvara interferencione probleme sa TMDS transmiterima. Dakle, NVIO
je zadužen za analogne, komponennte, S-Video i digitalne Dual Link DVI (sa
HDCP-om) „izlaze” kao i za kompoziciju signala dve kartice u SLI režimu, a
u sebi ima i TMDS transmiter i RAMDAC.
G80 GPU na sebi ima heat-spreader koji poboljšava prenos toplote sa
površine jezgra na rashladni sistem, a kakav viđamo i na modernim CPU-ovima
kakvi su Athlon 64 ili Intel Core 2 Duo. Aktuelna revizija G80 čipa je A2 (treća
revizija), koji bez većih problema radi na 575 MHz, što je već dovoljno impresivno
za GPU izrađen u 90-nanometarskoj litografiji, koji ima 681 milion osnovnih
poluprovodničkih elemenata. Šta onda reći za shader jezgro koje je
ubrzano na 1350 MHz? Oko GPU-a je, u tri reda pod uglovima od 90 stepeni, smešteno
12 memorijskih čipova (tri puta po četiri), što znači da su izvodi memorijskog
kontrolera smešteni na tri strane (na svakoj po dve komponente širine od 64-bita).
Pošto je širina magistrale 384 bita, NVIDIA se odlučila da upotrebi najbrže
GDDR3 memorijske čipove (umesto GDDR4 čipova na 2000 MHz). Samsung BJ1A čipovi
sa latencijom od 1.1 ns mogu da rade na frekvencijama do 1800 MHz, ali uz oštrije
tajminge u odnosu na GDDR4, što znači da njihova propusna moć nije mnogo manja.
Bez obzira na niži radni takt memorije u odnosu na Radeon X1950 XTX, šira memorijska
magistrala je omogućila impresivan propusni opseg od 86.4GB/s.
ovako izgleda GeForce 8800GTX bez kulera – kliknite za veću
sliku u drugom prozoru
Dva SLI (MIO) konektora na GeForce 8800GTX kartici smeštena su na standardnoj
poziciji i, da ironija bude veća, podsećaju na one kod Radeon X1950 Pro kartica
koje su donele “prirodni” Crossfire. Dva SLI konektora su tu iz više mogućih
razloga: brža, dvosmerna komunikacija između kartica ili šira “magistrala”,
odnosno mogućnost kreiranja QuadSLI “niza”. Ova druga mogućnost je manje verovatna,
mada nije neizvesna, ako znamo koliko se stvari brzo menjaju na tržištu grafičkih
kartica. GeForce 8800GTX ima dva Dual Link DVI konektora sa HDCP podrškom,
kao i standardni 7-pinski S-Video priključak na koji se vezuje YpbPr komponentni
port razdelnik.
Rashladni sistem instaliran na GeForce 8800GTX kartice (bar one referentne)
je takođe dizajniran „od nule”. Hlađenje novog GPU monstruma nije nimalo naivan
zadatak – čak i grafički čipovi prethodne generacije, sa svojih 250 miliona
tranzistora dostižu sistemske procesore po količini oslobođene toplote, pa
je sve teže kreirati rashladni sistem koji bi osim visoke efikasnosti, obezbedio
i tih i nesmetan rad. Kako onda ohladiti GPU koji ima skoro 700 miliona tranzistora?
Jedno od rešenja podrazumeva upotrebu heat-pipe-a, zatvorenog tunela koji će
na jednom delu uvlačiti, a na drugom izbacivati zagrejan topli vazduh iz kućišta
– proizvođači grafičkih kartica ne žele da kompromituju stabilnost matične
ploče ili CPU-a tako što će povećati temperaturu unutar kućišta do neprihvatljivih
granica.
Međutim, „usisni” sistem se nije pokazao popularnim bar što se buke
tiče – setimo se nepopularne FX5800 Ultre i čuvenog „usisivača”, ali i kulera
na Radeon X850 i X1800 i X1900 XT karticama, koji su takođe kritikovani. Možda
zbog toga NVIDIA na svojim prethodnim karticama nije koristila kulere koji
rade na ovom principu. Ipak, hladiti G71 na GeForce 7900GTX kartici je jedna
stvar, a G80 sasvim druga.
Novi kuler podseća na rešenje primenjeno na GeForce 6800 Ultra karticama,
ali je većih dimenzija i redizajniran tako da se vruć vazduh izbacuje van kućišta.
Baza kulera je napravljena od velikog, fino obrađenog bakarnog profila, dok
je ostatak profila načinjen od legure aluminijuma. Mesto na kome kuler dodiruje
memorijske čipove i NVIO procesor su posebno obrađeni i premazani termalnom
pastom. Unutar tunela rashladnog isstema nalazi se niz tankih rebara pored
kojih velikom brzinom prolazi vazduh, koji prima toplotnu energiju i izbacuje
je van kućišta, a za bolju raspodelu toplotne energije, „brinu” se i četiri
heat-pipe-a.
Ventilator velikog promera troši 5.8W na najvišem broju obrtaja, ali ih, sva
sreća, nikada ne dostiže, što je dovoljan pokazatelj efikasnosti rashladnog
sistema. Termalna sonda je prisutna, pa bi drajveri svakako ubrzali ventilator
kako bi temperaturu GPU-a zadržao u granicama normale (niže od 115 stepeni).
Na našem testu, ovaj kuler se pokazao kao prilično tih, po čemu je sličan GeForce
7900GTX kartici, koja je jedna od najtiših ikada testiranih na našem sajtu.
S obzirom na to koliko toplotne energije G80 mora da oslobodi, dizajnerima
kulera za G80 kartice moramo da čestitamo na 100% uspešno obavljenom poslu.
Zapravo, svaki aspekt vezan za izradu GeForce 8800GTX kartice nam se dopada,
osim njene dužine. Iako staje u naše kućište, smatramo da je PCB morao biti
nešto kraći, pa verujemo da će nova verzija PCB-a biti slična onoj za GeForce
8800GTS kartice. GeForce 8800GTX može da povuče oko 140W „struje” (do 165W
u „peak”-ovima) što nije mnogo više od maksimuma za Radeon X1950 XTX i GeForce
7950GX2, a s obzirom na kompleksnost G80 GPU-a, ovo ne možemo uzeti kao manu.
Ova impresivna kartica, uz otklonjenu grešku
koja se javila u proizvodnji PCB-a a koja je vezana za jedan od regulatora
na naponskoj jedinici, na našem testu je radila savršeno stabilno
i tiho. Pogledajmo još neke njene slike, a onda i GeForce 8800GTX i
GeForce 8800GTS ponudu drugih proizvođača koji spadaju u AIB launching
NVIDIA partnere.
GeForce 8800 GTX i GTS kartice
drugih proizvođača
ASUS EN8800GTX i 8800GTS
EVGA E-GeForce 8800GTX i 8800GTS
Gainward Bliss 8800GTX i 8800 GTS
U trenutku dok ovo čitate, mi već pripremamo test slabije G80 bazirane
kartice – GeForce 8800GTS koja nam je stigla od Gainward-a.
Evo i vodeno hlađenog monstruma (Zalman sistem) iz čuvene kompanijeGalaxy.
Leadtek WinFast PX8800GTX i GTS u običnoj i Extreme varijanti
Test Setup
PCI Express kartice smo testirali na test sistemu
prikazanom u tabeli:
Procesor
Intel
Core 2 Duo E6600 @ 3004 MHz (333
x 9)
Matična ploča
MSI
975X Power Up Edition 2.1
Intel i975X
Memorija
2
x 1024 MB Kingmax Hardcore PC800 (4-4-4-12)
Hard Disk
Maxtor
Diamond Max 11 SATA II, 250 GB, 16MB
Western Digital Caviar ATA133 2000JB, 200 GB, 8MB
Video Karte
MSI NX7950 GX2 – 1024 MB GDDR3 – ForceWare 91.47
MSI RX1950 XTX WCE – 512 MB GDDR4 – Catalyst 6.9
ASUS EN8800GTX – 768 MB GDDR3 – ForceWare 96.89 /97.02
Monitor
Benq FP93GX (ustupio
Kimtec)
Samsung SyncMaster 244T – za widescreen HD
testove
Cooling,
Case, PSU
CoolerMaster
Hyper LZ, CoolerMaster WaveMaster, Enermax Coolergiant 500W Dual Rail
DVD uređaj
Pioneer DVR-108D
CDRW uređaj
Pioneer
DVR-111D
Operativni sistem
Windows
XP Service Pack 2 (optimized for performance)
Direct X 9.0c
Igre/Bench programi
FutureMark
– 3D Mark 05 Pro 1.2.0
FutureMark – 3D Mark 06
iD Software – Doom 3
iD Software / Raven – Quake 4
3DRealms – Prey
Company of Heroes
EA’s Battlefield 2142
SPECORG SpecVIEW Perf 8.1
Activision Call of Duty 2
Valve’s Half Life 2 Episode One
Valve’s Half Life 2: Lost Coast
Splinter Cell 3: Chaos Theory
Crytek FarCry v1.4
The Elder Scrolls IV: Oblivion
Trackmania Nations
Need For Speed: Most Wanted
X3 Reunion Demo Benchmark
The Chronicles of Riddick: Escape from Butcher’s Bay
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.
Test smo vršili sa Catalyst 6.9 drajverima, odnosno ForceWare 91.47 za NVIDIA
kartice. Nadamo se da će vam narednih 38 tabela pomoći da shvatite
kakve performanse pružaju nove NVIDIA grafičke kartice iz osme GeForce
generacije.
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!
Nema sumnje, GeForce 8800GTX postiže mnogo više nego DualGPU grafička
kartica – 7950GX2, a razlike su najveće u visokim rezolucijama. Razlika
u odnosu na R580 sa ultra-brzom GDDR4 memorijom je još veća.
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 solidno visok 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.
I da, ovde se tek može videti sva moć G80 arhitekture. Čini se
da 3DMark06, iako je samo DirectX 9 test, ipak ume da iskoristi onih 700-ak miliona
tranzistora koje GeForce 8800GTX na sebi ima. Nema šta, jedva čekamo
DirectX 10, ATI R600 i igre koje će izgledati kao poslednji game test ovog
3DMark-a.
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.
Real Gaming testovi ~ 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. Prosto je neverovatno koliko su detaljne displacement
(normal i bump), specular i color-map teksture u ovoj igri, dok su particle
efekti i dim nešto najbolje što smo do sada videli. Nažalost,
za uživanje u najvišim setovanjima, potrebno je imati najjaču
karticu – GeForce 7800 GTX ili Radeon X1800 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 igra do sada.
Zanimljivo je da GeForce 8800GTX omogućava da se ova izuzetno grafički
intenzivna igra (neko je rekao – neoptimizovana?!?) igra u 1920 x 1200 piksela
uz maksimalan anisotropic i antialiasing override-ovan iz drajvera. Performanse
su nešto više ukoliko se AA i AF "poteraju" iz same igre, u kom
slučaju je, sigurni smo, moguće igrati ovu igru i na 30-inčnim
monitorima. To bi verovatno bio doživljaj, ali ćemo sačekati da
cena Dell 3007FPW monitora padne ili da Samsung konačno izbaci SyncMaster
305T.
Doom 3
Doom 3 testiramo sa ugrađenim Demo1 demo-om, na high podešavanjima (highest
je predviđen za kartice sa 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.
Pogledajmo kakvi su rezultati u "opretećenim" modovima…
Razlika u odnosu na GeForce 7950 GX2 možda i nije velika, ali se treba podsetiti
da GX2 ima dva G71 GPU-a. Razlika u odnosu na GeForce 7900GTX je slična
razlici u odnosu na Radeon X1950 XTX, koji u ovoj igri nije brži od GeForce
7900GTX-a, iako inače jeste.
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, moramo
reći, uz Call of Duty 2, najatraktivnija do sada. Za ljubitelje pravog hardcore
uzbuđenja – obavezno štivo je Quake 4 i to nekoliko puta! 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, već High Quality mod (UQ je namenjen za kartice sa 512 MB memorije).
Quake 4 se "ponaša" slično igri Doom 3, ali izgleda kao
da je još bolje optimizovan, pa su i rezultati nešto viši
– GeForce 8800GTX ostvaruje impresivnih 128 frejmova po sekundi u proseku, što
znači da ga uz 4xAA i 16xAF možemo voziti i u 2650 x 1600 piksela,
bez ikakvih problema. Štaviše, bilo bi moguće igrati ga u
ovoj XHD rezoluciji i sa 16xCSAA i 16x Quality Anisotropic-om!
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.
Prey radi nešto sporije od Doom-a, ali je to i razumljivo ako
znamo koliko je veliki nivo u kome se naš timedemo odvija. Zapravo, skoro
90 frejmova uz znatno viši kvalitet prikaza tekstura (pogotovo uz angle-independant
anisotropic) u odnosu na GX2 karticu izgleda impresivno bolje – ovoga puta nije
sve u "frejmrejtu".
The Chronicles of Riddick
Ova odlična igra po istoimenom filmu, napisana je za OpenGL API, a mi smo
testirali sa najvišim setovanjima (i u PS3.0 modu), dostupnim iz same igre.
I ovoga puta, i dalje… GeForce značajno bolji u "Riddick"-u.
GeForce 8800GTX uopšte ne oseća povećanje rezolucije. Ali
pogledajmo kako se situacija menja kada se aktiviraju anisotropic i antialiasing…
Pa, kada se aktiviraju AA i AF, dešava se da je GeForce 8800GTX brži
tačno tri puta od najbržeg Radeona, što se, ruku na srce,
ipak dešava samo u ovoj igri.
Splinter Cell Chaos Theory
Ova igra koristi najnoviju dostupnu verziju Unreal engine-a (tzv. U2.5)
i u mnogo većoj meri se oslanja na upotrebu shadera. Karakteriše je veliki
broj poligona, ali i funkcije kao što su HDR, paralax mapping, klasican
bump mapping i veliki broj normal tekstura (tu su i stancil efekti, dosta
post processing filtera itd.). Testirali smo na najvišim mogućim setovanjima,
kao i uvek. HDR je, za razliku od SM3.0 moda na GeForce karticama bio iskljucen.
Uskoro ćemo
ovu igru zameniti sa novim nastavkom ove sjajne igre – Double Agent, koja
koristi noviji build Unreal Engine-a 2.5!
Ova igra je od nas odavno dobila "etiketu" da je najsličnija 3DMark05
benchmark programu, odnosno rezultatima koje kartice u njemu ostvaruju. Smatramo
da GeForce 8800GTX može i više, ali drajveri su za G80, prema nezvaničnim
informacijama od ljudi iz NVIDIE i dalje u beta fazi (WHQL sertifikat označava
stabilnost, ali su drajveri daleko od savršenih za G80).
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. Da bi imali predstavu
koliko je ova igra zaista lepa, za vas smo "okačili" nekoliko
hi-res (1920 x 1200, 4xAA, 4xAF) shot-ova na sledećem linku.
Ah, pravo je uživanje gledati kompleksnu i privlačnu grafiku X3 univerzuma
na GeForce 8800GTX karticama. Ne gledajte samo prosečan frame-rate: treba
znati da je broj padova ispod 30 frejmova kod Radeona X1950 XTX i GeForce 7950GX2
kartica daleko veći nego kod 8800GTX-a, kod kojih ih praktično i nema.
Company of Heroes
Prva real-time strategija u našem test-suite-u, Company
of Heroes, koristi next-gen engine kakav viđamo u modernim
PC igrama i na konzolama poslednje generacije. 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. Kao
i obično, u igri smo uključili sve moguće efekte, što se po frame-rate-u
i vidi:
NVIDIA preporučuje da se testiranje vrši i u ovoj igri i to u što
većim rezolucijama (1600 x 1200 i višim). Hm, ne postoji mnogo korisnika
koji imaju 30-inčne monitore, a mi vidimo da i u "običnih" 1600
x 1200 piksela, GeForce 8800GTX ostvaruje popriličnu prednost u odnosu na
kartice prethodne generacije. Razlika se smanjuje u višim rezolucijama
kada se uključi AA i AF pre svega zbog naprednog AF algoritma kod G80 čipa
(bar ako je verovati samim dizajnerima ove igre).
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:
U odnosu na 12 x 10 mod, prosečan framerate GeForce 8800GTX kartice u 19
x 12 modu pada za svega 13 frejmova, dok kod Radeona X1950 XTX pada za više
od 30, a kod GX2 kartice za više od 20 frejmova po sekundi. Neverovatno
ili ne, tek, samo gole činjenice smo izneli i prebacili ih u Excel.
Far Cry v1.33
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 HDR, naravno, iskljucili kako bi poredjenje sa konkurentom bilo
fer. Ovu igru ćemo "izbaciti" kada se na našem testu pojavi
prva prava DirectX 10 igra – dugo očekivani Crysis.
Visoke "cifre" koje GeForce 8800GTX postiže u FarCry-u nas ohrabruju
da će ova kartica biti dovoljno dobra za igranje Crysis-a u 19 x 12 modu.
Deluje logično, zar ne?
Half Life 2: Lost Coast
Novo, dopunjeno izdanje igre Half Life 2 u showcase demo verziji koji
donosi teksture više rezolucije, objekte sa više poligona i HDR
"rendering". Engine nije toliko napredan kao onaj kod igre FarCry
ili čak Doom 3, ali je moćan, fleksibilan (skalabilan) i odlično optimizovan,
te svakako pokazuje kakve će performanse kartice dati u igrama koje očekujemo.
Testirali smo sa najvišim kvalitetom (highest), samo su Anisotropic i Antialiasing
bili isključeni.
Čak i u prosečnom engine-u kakav je Source 1.1b u verziji
u kojoj se koristi u Half Life 2 igrama (tu ne uključujemo Episode 2, koja
bi trebalo da donese nešto napredniju varijantu ovog engine-a), GeForce
8800GTX pokazuje ko kolo vodi…
Half Life 2: Episode One
Episode One je prva epizoda koja se nastavlja tamo gde se originalni HL2 završava.
Baziran na istom build-u Source engine-a kao i Lost Coast, donosi pregršt
akcije, pa je i naš demo značajno zahtevniji od originala… Podešavanja
su ista kao i kod originalnog Half Life 2 – sve je na maksimumu.
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.
Prosto je neverovatno koliko FEAR ume da optereti grafičku karticu, pogotovo
ako mu se uključe i meke senke – frame rate je tada i za 30 do 40% niži.
GeForce 8800 GTX, očekivano, u ubedljivom vođstvu…
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 (na Radeon-u uz Chuck patch, GeForce 8800 – legalno).
I da, konačno. GeForce 8800GTX otklanja sve nedostatke igranja Oblivion-a
na GeForce 7 karticama! Niste znali da ih ima? Pa, verovatno zato što
niste probali kako sve radi na Radeonu X1950 XTX. Možda zvuči nemoguće,
ali verujte nam da je daleko prijatnije igrati Oblivion sa užasno visokim
nivoom detalja na Radeon X1950 XTX kartici nego na GeForce
7950GX2! To je zbog toga što Radeon X1950 XTX ne dozvoljava česte
kratke padove framerate-a na ispod 15 fps kao GeForce 7950GX2. Novije verzije
ForceWare drajvera su ovo značajno popravile, ali je opšti utisak
da je Radeon X1950 XTX i dalje bolji izbor za igranje Obliviona u 1920 x 1200
piksela nego GeForce 7950GX2 zbog bitno konzistentnijeg framerate-a. No, GeForce
8800GTX stvari postavlja na mesto. Sada imamo dovoljno snage i da u config-u
podesimo da se učitava još 4 udaljenije ćelije, gustinu trave ćemo
opet povećati, a sprajtovi se umesto 3D drveća nigde (čak ni na
3 kilometra od nas) neće pojavljivati. Dobro nam došao, GeForce 8800GTX
– Cyrodill here I come!
TrackMania Nations
Ova besplatna online-only igra je nastala na fleksibilnoj "mašini"
komercijalne igre TrackMania Sunrise. Predstavlja takmičenje manjih automobila
na stazama koje kreiraju sami igrači u jednostavnom editoru. Iako sve deluje
pitko i jednostavno, igra je grafički vrlo kompleksna, animacije objekata
kao što su zastave, trava i sl.su sjajne,
a teksture detaljne, zajedno sa shader-ima za refleksiju okoline i sunca. Za
pravilno benchmarkovanje potrebno je postaviti sve opcije na maksimum (forsirati
Post Processing, Motion Blur i Dynamic Color, Shader Model 3.0, a kompleksne
senke i geometriju postaviti na maksimum. Filtering tekstura se postavlja na
trilinear, a antialiasing na "none", te se oni "biraju" iz panela grafičkih
drajvera. U suprotnom (ako ih izaberete u samoj igri), igra forsira najniži
LOD tekstura, dok su teksture okoline (sve osim staze) prebačene na bilinear
filtering, pa sve radi dosta brže, ali izgleda daleko lošije. Koristili
smo standardni benchmark loop inkorporiran u samu igru.
Možda vam se učini da kod vas, na vašoj NVIDIA kartici ugrađeni
test daje znatno više rezultate. Ali, zanemarite podešavanja anisotropic-a
i antialiasing-a iz same igre! Aktivirajte ih u drajverima i ponovo odradite
test. Sada vidite razliku! Čisto informativno, GeForce 8800GTX ostvaruje
267 fps-a u 1600 x 1200 kada su AF16x i AA4x uključeni iz same igre! U tom
slučaju, antialiasing je jednostavniji (nije 4x nego kao da je 1.5x, anisotropic
više podseća na malo lepši trilinear, a okolna trava se gotovo
i ne filtrira!).
Need For Speed: Most Wanted
Naša druga "bonus" igra. Performanse su merene
FRAPS-om, standardna vožnja u kojoj se pomalo menjaju uslovi (atmosferski
i saobraćajni), pa rezultati nisu u promil verodostojni, tj. sve ume malo
da odskače. Ipak, ovo omogućava da vidimo performanse koje kartice
postižu u igri. Sve in-game opcije su uključene na ON ili maksimum,
uključujući
i AA i AF!
Naravno, GeForce 8800GTX i ovde pokazuje svu svoju snagu…
CSAA
Kao što možete videti u grafikonima ispod, pad performansi
je u slučaju 16x coverage sampling antialiasing-a daleko veći nego što
to NVIDIA navodi. Između 4xAA i 16x AA zaista nema velike razlike u performansama,
ali 16xAA ne daje iste rezultate kao 16x Quality AA (u grafikonu je Quality CSAA
označen sa CAA, iako oba 16xAA metoda koriste Coverage Sampling). Činjenica
je, ipak, da 16x AA ne izgleda toliko bolje od 4x multisampling-a, koliko je
to slučaj sa 16x QualityAA. U svakom slučaju, za "filmski" kvalitet
umekšavanja ivica ćemo, po svemu sudeći, još pričekati.
Overclocking
Overklokovanje high-end kartice nikada nije stvar sa kojom treba postupati neoprezno,
ali ako jedan deo GPU-a radi na 120% višoj frekvenciji, a njegov “klok” se ne
može precizno kontrolisati, onda to donosi dodatne probleme. ROP, TMU i memorijski
kontroler G80 čipa radi na 575 MHz, dok Streaming procesori rade na 1.35 GHz.
Frekvencija čipa koju možemo da menjamo je ova prva, dok se ostatak čipa ubrzava
procentualno. To znači da ako G80 ubrzamo na 620 MHz – Streaming Unit-e ćemo
ubrzati na 1460 MHz! GPU smo i uspeli da ubrzamo na 622 MHz, dok smo memoriju
uspeli da „zakucamo” na 1980 MHz, nakon čega su se pojavljivale greške i javljala
nestabilnost (za potpunu stabilnost je memoriju potrebno vratiti na oko 1930
MHz). NVIDIA je obećala i posebnu verziju nTune aplikacije koja će omogućiti
da se posebno ubrzaju Streaming procesori, a posebno ostatak grafičkog čipa.
Zaključak
GeForce 8800GTX je izuzetno brza grafička kartica,
ali je analiza performansi prvog DirectX 10 akceleratora prošla bez ijednog DirectX 10 benchmark testa.
Štaviše, prošao je i bez DirectX 10-kompatibilnog operativnog sistema i device
drajvera. Kakve će biti performanse u DirectX 10 naslovima, sada ne možemo
da znamo. Znamo da su performanse u najzahtevnijim postojećim igrama u najmanju
ruku impresivne, iako smo videli ogroman broj situacija u kojima najbrži CPU
današnjice predstavlja usko grlo u rezolucijama manjim od 1600 x 1200 piksela.
Ali, kakve će biti performanse u igrama koje koriste DirectX 10, kakve su Crysis,
Unreal Tournament 2007 ili Alan Wake? Kakav će mu konkurent biti Radeon R600?
GeForce 8800GTX se može uporediti sa Radeonom 9700 Pro u vreme kada se pojavio
; Ovaj DirectX 9 GPU je bio na tržištu pre nego što mu se matični API pojavio
– pružao je odlične performanse u DirectX 8 igrama, ali se odlično pokazao
i u novim DirectX 9 naslovima, kada su konačno ugledali svetlost dana. Međutim, veliki
tržišni uspeh je bio i rezultat loše dizajnirane pete generacije GeForce (FX)
kartica. Imati prvu DirectX 10 grafičku karticu na tržištu je mač sa dve oštrice:
sa jedne strane, dobro je što je u pitanju proizvod koji će entuzijasti želeti
da poseduju i što se radi o rešenju nove generacije, koje donosi ubrzanja i
u aktuelnim aplikacijama (tako je uvek i bilo). Dobra strana je i to što će
razvojni timovi optimizovati i testirati svoje DirectX 10 igre (u PC verzijama)
upravo na ovom hardveru, a ne na rešenju iz konkurencije – predpostavljamo
da će i naredna serija kartica srednje klase osme generacije GeForce kartica
predstavljati derivat G80 arhitekture, što znači da će nove DirectX 10 igre
i na ovim karticama raditi “the way it’s meant to be played”. A druga strana
medalje kaže da će dobar deo korisnika sačekati na rešenje iz konkurencije
– ATI R600 GPU, koji može da bude centar neke još moćnije kartice.
Da li je GeForce 8800GTX kartica za vas, sada u ovom trenutku, ili treba da
sačekate niže cene, rešenje iz konkurencije i sl., zavisi samo od vaših afiniteta
i potreba. Ako imate jak računar i veliki monitor, a nove igre igrate u visokoj
rezoluciji (1920 x 1200), onda svakako ne želite da se odreknete ni maksimalnog
anisotropic-a niti umekšavanja ivica? A i zašto bi, ako imate tako skupu opremu?
Međutim, ako imate Radeon X1900 ili GeForce 7900, mnoge igre uz maksimalan
nivo detalja nećete moći da igrate u opisanim modovima. Ako ne verujete, vratite
se na neku od prethodnih stranica. Igre kao što su Call of Duty 2, novi Splinter
Cell: Double Agent, Need For Speed: Carbon, F.E.A.R: Extraction Point (sa uključenim
mekim senkama), pa i Oblivion se u 1920 x 1200 piksela uz 16xAF i 4xAA, sa
Radeon X1900 ili GeForce 7900 karticama se ne mogu igrati uz maksimalan nivo
detalja, bez obzira na to koji CPU i koliko memorije imate. Sa GeForce 8800GTX,
situacija je upravo drugačija, u šta se potpisnik svih ovih redova i u praksi,
a ne samo u testovima, lično uverio. Kao što smo mogli da vidimo, NVIDIA nije
samo povećala performanse, već je ponudila i daleko viši kvalitet prikaza tekstura
u anisotropic modu, čak i u default režimu. Anisotropic bi, po našem
mišljenju, trebalo da postane de-facto standard kada je filtriranje tekstura
u pitanju jer su igre, čak i one sa prelepim detaljnim teksturama jednostavno
u određenim delovima scene izuzetno ružne kada se koristi samo trilinearni
filtering. Novi CSAA sa 16x sampling-om nudi neprevaziđeni kvalitet umekšavanja
ivica koji gotovo da može da parira offline-rendering sistemima viđenim u prerenderovanim
animacijama. Međutim, možda će nove DirectX 10 igre biti isuviše grafički intenzivne
da bi i maksimalni nivo antialiasing-a postao standardna opcija. Ako nas pitate
za mišljenje, bar 4x AA je bolji nego nikakav. NVIDIA CUDA arhitektura je definitivno
deo budućnosti, ali je pitanje koliko će zaista zaživeti. Jasno je da koncept
ima dosta potencijala i ne vidimo zbog čega to developeri ne bi iskoristili,
mada treba imati u vidu da NVIDIA nije jedini igrač na ovom polju.
GeForce 8800GTX u čiji je razvoj uloženo preko 400 miliona dolara, a i Radeon
X2 koji će se tek pojaviti dovoljan su dokaz da PC nikako ne izumire kao igračka
platforma, ma šta pričali ostrašćeni fanovi PlayStation i Xbox konzola. Štaviše,
usuđujemo se da kažemo da su Core 2 Duo / Quad i GeForce 8800GTX učinili da
PlayStation 3 deluje zastarelo i pre nego što je stigao na tržište. Uz DirectX
10, neke od osnovnih mana igranja na PC-ju će biti prevaziđene, pa će multiplatformske
igre, koje se razvijaju za Xbox360, PS3 i PC od sada uvek moći da izgledaju bolje
nego na konzolama – pre svega po pitanju detaljnosti i prikazu tekstura (na
konzolama je trilinear i dalje default ) i krajnjoj rezoluciji (najčešće
limitirana na 720p). GeForce 8800GTX je toliko moćan, da bez problema prestiže
i dve GeForce 7900GTX kartce u SLI režimu, a u većini slučajeva i dva Radeona
X1950 XTX u CrossFire varijanti. Značajno je brža i od GeForce 7950GX2 dualGPU
akceleratora, a najčešće i od dva takva (QuadSLI). Uskoro ćemo moći da vidimo
i kakve se performanse mogu dobiti sa dve ovakve kartice – GeForce 8800GTX
u SLI varijanti sa 256 Stream procesora će verovatno moći da guraju i Crysis
u XHD rezoluciji. Jedna GeForce 8800GTX kartica je na jakom sistemu sposobna
da vozi sve aktuelne igre u rezoluciji od 2560 x 1600 piksela, u šta smo sigurni
jer ni u najzahtevnijim situacijama, performanse u modu 1900 x 1200 sa maksimalnim
AA i AF filterima nisu padale ispod 50 fps. DirectX 10 će omogućiti vizuelno
još impresivnije igre, koje bi sa istim nivoom detalja radile izuzetno sporo
u DirectX 9 modu, bez obzira na hardver na kome rade, zbog ograničenja koje
postavlja taj sam API. Pošto je DirectX 10, nažalost, vezan za Windows Vista
OS, na koji neće svi odmah „preći”, dizajneri će još nekoliko godina morati
da zadrže i kompatibilnost-unazad (ka DX9), bar ako žele da im se igre prodaju
u većem tiražu.
ASUS EN8800GTX – Benchmark Innovative Technology
Award
Koliko god G80 bio impresivan GPU, moramo priznati da su i u ASUS-u odradili
dobar posao dizajnirajući PCB za ovu karticu. GPU koji ima više od 680 miliona
tranzistora, izrađen u standardnom 90-nm procesu, na GeForce 8800GTX kartici
ne vuče mnogo više od standardnog Radeona X1950 XTX ili GeForce 7950 GX2 akceleratora.
Sama kartica jeste velika, ali se ne greje previše niti je bučna u radu, bez
obzira na to što zahteva da je povežete na dva konektora za eksterno napajanje.
Čak i ovako brzu karticu je moguće dodatno ubrzati, a NVIDIA je obećala i posebnu
aplikaciju kojom će biti moguće da se oba segmenta GPU-a overklokuju posebno.
GeForce 8800GTX je najbrža kartica koju trenutno možete kupiti, akcelerator
čije vreme tek dolazi, ali koji nudi konkretna poboljšanja već u ovom trenutku.
Kako je ASUS EN8800GTX prva GeForce 8800GTX kartica koja je stigla do nas,
a ASUS proizvođač čiji je R&D tim dizajnirao štampanu
ploču ove kartice i proizveo sve GeForce 8800GTX kartice na tržištu,
sledi mu naša prestižna nagrada Innovative Technology.
Zahvaljujemo se kompaniji KIMTEC koja
nam je na test ustupila EN8800GTX karticu.
Zahvaljujemo kompaniji NVIDIA na podršci koja je ukazana za potrebe
kreiranja ovog članka.
Benq FP93GX TFT-LCD monitor za potrebe test konfiguracije ustupio Kimtec.