» »

ATI Radeon 9700 - Nov kralj v grafični deželi

Če ne živite ravno v kakšnem zakotnem pragozdu ter lahko berete ta članek, potem ste gotovo že slišali, da je ATi izdal nov grafični čip R300, ki so ga poimenovali Radeon 9700. Kot verjetno že veste, novi Radeon s precejšjno lahkoto pomete z vso konkurenco na vseh področjih. V tem članku si bomo malo bolj podrobneje ogledali, zakaj je temu tako ter kaj kartica še prinaša inu ponuja.


Vertex shaders 2.0

Prva novost, ki jo kartica podpira, je podpora Vertex Shaderjem verzije 2.0, ki bo podprta v DirectX 9.0. Nova verzija Vertex Shaderjev omogoča pisanje ter izvajanje daljših programov (do 256 ukazov, kar je dvakrat več kot sedaj) ter nadzor nad izvajanjem teh programov. Sedaj je možno uporabljati zanke, podprograme in skoke. Še vedno pa ne moremo gnezditi zank in programskih skokov (iz enega podprograma se lahko samo vrnemo, ne moremo pa klicati drugega podprograma). Povečano je tudi število konstantnih registrov - grafični čip jih mora podpirati v saj 256 (v verziji 1.x je bilo minimalno število konstantnih registrov 96).

Da pa bi ATI zagotovil čim hitrejše izvajanje Vertex Shaderjev, so v R300 vgradili kar štiri take enote, ki zmorejo obdelati tudi do 300 milijonov trikotnikov na sekundo.

struktura dela čipa, ki skrbi za vertex shaderje

struktura dela čipa, ki skrbi za vertex shaderje

Podjetje ATi pa sicer ni prvo, ki je v grafični čip vgradilo 4 enote, niti ni prvo, ki je izdalo čip z Vertex Shader enoto, združljivo z DirectX 9. Obe lovoriki mu je odvzel Matrox s Parhelio, ki pa ima to napako, da njegova Triangle Setup enota enostavno ne dohiteva štirih Vertex Shader enot. Za primerjavo: Geforce 4 Ti 4600 ima "samo" dve Vertex Shader enoti ter posledično bistveno manjše zmogljivosti te enote.


Displacement mapping

Najpreprostejša razlaga za Displacement Mapping je Bump Mapping na steroidih (Sergiotova pogruntavščina). Če Bump Mapping naredi iluzijo vdolbin in izboklin na povsem ravnih trikotnikih, potem Displacement Mapping dejansko na trikotniku naredi te vdolbine in izbokline. Displacement Mapping dejansko uporablja iste podatke kot Bump Mapping (višinsko mapo, sivinsko teksturo), razlika pa je v tem, da Displacement Mapping iz višinske mape dejansko naredi veliko količino novih trikotnikov, ki jih mora grafična kartica izrisati. In ravno pri tem se bo tistih 300 milijonov trikotnikov, ki jih je kartica zmožna izrisati, izkazalo v polni meri.

ena izmed boljših primerjav Bump in Displacement mappinga

ena izmed boljših primerjav Bump in Displacement mappinga

Tudi Displacement Mapping je del specifikacij DirectX 9 in tudi pri tej tehnologiji si ATi ni pridobil status prvega, ki ga je vdelal v strojno opremo, saj ga je tudi tokrat prehitel Matrox s Parhelio.


Plava, plava vejica po grafičnem cevovodu

Sedaj smo prišli do ene izmed najpomembnejših novosti v ATIjevem R300 in Microsoftovem DirectX 9 - vse operacije v Pixel Shaderjih operirajo s plavajočo vejico. To pomeni, da lahko sedaj uporabljamo 64 bitne (half precision) ali 128 bitne (full precision) formate s plavajočo vejico za teksture. Pixel Shaderju tudi ni več nujno potrebno, da rezultate reže (na primer: kar je manjše od 0.0 je 0.0, kar je večje od 1.0 je 1.0), saj lahko te nove zapise uporabi tudi neposredno za izris. Obenem pa je R300 sposoben uporabiti tudi 10 bitov za barvno komponento za sam izris na zaslon (prav tako kot Parhelia). Najpomembnejše dejstvo pri tem pa je, da imamo lahko tako v teksturah kot tudi kasneje v enoti Pixel Shader števila zelo velikega obsega - mnogo več kot na GeForceu 3 z obsegom -1 do 1 ali na Radeonu 8500 z obsegom -8 do 8.

ena izmed možnosti za uporabo plavajoče vejice je HDRI (High Dynamic Range Images)

ena izmed možnosti za uporabo plavajoče vejice je HDRI (High Dynamic Range Images)

Sedaj smo že zelo blizu točki, ko bo možno izrisovati filmsko grafiko v realnem času. Da pa bomo to tudi dejansko dosegli, pa bo potreben še kakšen zmoglivejši 3D pogon od tistega, ki bo poganjal Doom 3. Z uporabo HDRI (High Dynamic Range Images) dejansko poskrbimo za vse - od odsevov, do same osvetljitve modelov. Taista metoda se uporablja tudi v filmski industriji za dodajanje računalniških učinkov na video posnetek in v povsem računalniško generiranih okoljih.

HDRI in Neo v akciji

HDRI in Neo v akciji

Za zdaj naj bo o HDRIju to vse. Več si lahko preberete tukaj: http://www.debevec.org.


Pixel Shader 2.0

Poleg tega, da sedaj vse Pixel Shader operacije operirajo s plavajočo vejico, so novi Pixel Shaderji tudi bistveno daljši (96 ukazov namesto dvanajstih Pixel Shaderja 1.1) in imajo izboljšan nabor ukazov. Sedaj lahko na vsakem pikslu počnemo praktično vse, kar smo lahko do sedaj počeni na ogliščih (vertexih) in še več. Teh 96 ukazov je razdeljenih na dva dela, tako kot je bilo v navadi že v enoti Pixel Shader 1.1. Uporabimo lahko do 64 aritmetičnih ukazov ter do 32 ukazov za delo s teksturami. Sedaj lahko dostopamo kar do 32 različnih vzorcev (tekslov) iz 16 različnih tekstur, kar je bistveno več kot je bilo možno do sedaj (vključno z enoto Pixel Shader 1.3 smo imeli dostop do 4 tekstur, s Pixel Shaderji 1.4 pa do šestih).

primerjava zmogljivosti DirectX 8 z DirectX 9

primerjava zmogljivosti DirectX 8 z DirectX 9

Radeon 9700 ima sicer kar 8 cevovodov, vendar le eno enoto za teksturiranje na vsakem cevovodu, kar mu zna v prihodnosti nekoliko porezati krila, saj Pixel Shader 2.0 zahteva 16 različnih tekstur, katerih pa Radeon 9700 ne more zagotoviti v enem urnem ciklu.

struktura enega cevovoda...

struktura enega cevovoda...

...in struktura vseh osmih cevovodov v paraleli

...in struktura vseh osmih cevovodov v paraleli


Video v 3D jedro? Zakaj pa ne!

ATi je v novega Radeona vgradil podporo za še eno novost, ki jo bo prinesel DirectX 9. Komponenta DirectShow bo po novem sposobna izrisovati video neposredno na teksturo, ki jo bomo lahko nato uporabili pri renderiranju. Seveda je pri tem zaželjeno še, da se čim večji del dekompresiranja videa zgodi kar na sami grafični kartici.


OK, kartica je hitra, a zakaj?

Prva novost, ki jo je ATi vpeljal, je 256 bitno DDR vodilo, ki povrhu vsega deluje še na zelo visokih frekvencah. Novi Radeon doseže, v primeru da je opremljen s pomnilnikom, ki deluje na frekvenci 325 MHz, na moč impresivnih 20,3 GB/s, kar je dvakrat več kot je sposobna iz pomnilnika iztisniti druga najhitrejša kartica na planetu - GeForce 4 Ti 4600. ATi zopet ni bil prvi, ki je uporabil 256 bitno vodilo, ta naslov mu je zopet odvzela Parhelia, vendar mu je to do sedaj še najbolje uspelo.

Druga novost, ki ATIju omogoča učinkovito izrabo prenosa, je navzkrižna organizacija pomnilnika. Radeon 9700 je opremljen s štirimi 64 bitnimi kontrolerji, ki skupno dostopajo do 256 bitnega vodila. Ta pristop je prva uporabila nVidia in uspela. ATi je nato še nekoliko izboljšal svojo tehnologijo HyperZ, ki je sedaj že dosegla tretjo inačico.

pomnilniški kontroler je na moč podoben tistemu v Geforceih

pomnilniški kontroler je na moč podoben tistemu v Geforceih

Kartica pokaže svoje zobe predvsem v višjih ločljivostih z vključenim mehčanjem robov in vključenim anisotropnim filtriranjem. Razlog za to gre iskati predvsem v dejstvu, da ima kartica naravnost titansko pomnilniško prepustnost (tako mehčanje robov kot anisotropsko filtriranje je izredno požrešno do prepustnosti). Osem cevovodov pa bo zmožno z lahkoto renderirati tudi vse sence v Doomu 3, da pa bi jih izrisovali še učinkoviteje, je ATI v R300 vdelal možnost dvostranskega stencil testiranja, kar bo John Carmack gotovo z veseljem podprl v novem Doomu. Običajno potrebujemo dva prehoda, da si označimo, katere točke so v senci in katere izven nje (običajno najprej izrišemo trikotnike, ki so obrnjeni proti nam in povečamo stencil števec, za tem pa še trikotnike, ki so obrnjeni stran od nas in zmanjšamo stencil števec. Vsaka točka na zaslonu, ki ima stencil števec različen od nič - je v senci).


Zaključek

Tako, pa smo obdelali vse novosti v novemu ATIjevemu paradnemu konju, najhitrejši kartici na trgu in prvi pravi z DirectX 9 združljivi kartici. Če se vam kje zdi, da sem kaj o DirectX 9 kaj zamolčal, malo razmislite o mojemu namenu, saj DirectX 9 še kar nekaj časa ne bo ugledal svetovne javnosti. Vsak kupec te kartice bo preskrbljen še vsaj za vse igre, ki bodo osnovane na novem pogonu za Doom 3 in Unreal Tournament 2003. Prihodnost je svetla, filmska grafika v igrah pa že presneto blizu. Več o DirectX 9 in kakšnih drugih DirectX 9 karticah pa kdaj drugič v ne tako daljni prihodnosti, da mi ne pridejo kakšni možje v modrem trkat na vrata. Nikoli ne podcenjujte prave moči NDAja (Non-Disclosure Agreement, Strinjanje o nerazkritju podatkov)

DirectX 11

DirectX 11

Dve leti že mineva od Microsoftove razgrnitve novega operacijskega sistema Windows Vista, skupaj s katerim je luč sveta ugledala tudi zadnja različica multimedijskih knjižnic DirectX 10. Po rutinskih posodobitvah vsake dva-tri mesece, ki so večinoma posodabljale zgolj HLSL prevajalnik za shaderje, pa ...

Preberi cel članek »

Čudežno popotovanje skozi grafični cevovod II

Čudežno popotovanje skozi grafični cevovod II

V prvem delu smo si ogledali strukturo sodobne grafične kartice. Med drugim smo omenili shaderje, ki so zaradi svoje programabilnosti, nekakšno srce in duša sodobnih GPU-jev. Različni shaderji so odgovorni za različne strukture v grafiki (v Direct3D 10 so to oglišča, ...

Preberi cel članek »

DirectX 9.0 - Izboljšave knjižnice

DirectX 9.0 - Izboljšave knjižnice

V prejšnjem delu smo si ogledali novosti in izboljšave, ki so doletele programabilnost grafičnih kartic, torej osenčevalnike točk ter oglišč. Seveda pa novi pixel in vertex shaderji niso edina novost v DirectX 9.0. Novosti je še kar nekaj, vendar je res, da je ...

Preberi cel članek »

Nova bitka v vojni grafičnih kartic

Nova bitka v vojni grafičnih kartic

Da je računalništvo hitro se razvijajoča panoga čivkajo že vrabčki na vejah. Da se grafične kartice razvijajo še hitreje od ostalih področij znotraj računalništva, je takisto lahko jasno vsakemu, ki vsaj vsake toliko preleti kakšen cenik ...

Preberi cel članek »

DirectX 8: Vertex in Pixel shaderji

DirectX 8: Vertex in Pixel shaderji

Ker sem v večini člankov o DirectX 8.0, ki sem jih videl na Internetu, opazil, da so praktično vsi le manjša predelava dela dokumentacije iz DirectX 8.0 SDK ki opisuje novosti, sem se odločil, da vse skupaj razložim malo bolj podrobno. ...

Preberi cel članek »