Prvé pohľady na architektúru G80

Zhruba 681 miliónov tranzistorov v 90nm čipe: G80 (NV50) je tretia veľká architektonická novinka od uvedenia GeForce série. NV 10 (GeForce 256) priniesol register combiner, NV30 (GeForce FX) priniesol "CineFX". Sú to nové prístupy k danej problematike ako je aj G80...

Úvod, nezávislé takt domény v G80, shader core:

Možno povedať, že sa špecializované 3D čipy vyvinuli preto, lebo sa chceli použiť textúry. Rendering bez textúr by bol pri prijateľnej rýchlosti možný aj na procesoroch. Keď však chceme vidieť textúry a podľa možnosti aj filtrované, preťažíme podmienečne každé CPU. Tak boli vyvinuté grafické čipy s 3D funkciami a filtráciou textúr.

Pri NV10 sa však myslelo už ďalej. Čítať textúry z pamäte, filtrovať a nanášať na trojuholníky je pekné, ale prečo nedať vývojárom väčšiu kontrolu nad tým ako sú tieto údaje spoločne s interpolovanými vertex údajmi prepočítavané ? Register combiner ponúkol v tom čase ohromujúcu flexibilitu a výpočtový výkon práve pre tieto úlohy. S loopback a jedným prednastaveným texture shaderom sa to od GeForce 3 nazývalo dokonca "pixelshader". NV30 priniesol omnoho viac presnosti a flexibility pre pixelshading. Kvôli tomu bola vyvinutá CineFX architektúra. Pre GeForce 6 bolo CineFX od základov prerobené a vylepšené. Teraz s NV50 (G80) prichádza k nám znovu, naozaj nová architektúra. Spolu s G80 založila nVidia základový kameň pre svoje budúce čipy.
Nezávislé takt domény v G80:

Odborný výraz:Funkcia:
Interpolátorvypočítava určité input hodnoty pre pixelshader
Shader-ALUvykonáva shader výpočet
TMU (Texture Mapping Unit)poskytuje filtrované hodnoty textúr Shader-ALU
ROP (Raster Operation)vykonáva konečné práce na pixeloch

 
 

Unified Shader hore alebo dole, potrebné jednotky ostali a môžu byť do veľkej miery využívané pixel, vertex alebo geometry shaderom. ALUs, TMUs a ROPs sú pri G80 do určitej miery odpojené. G80 má dve takt domény. Shader-ALUs (ku ktorým patria aj interpolátory) bežia u GeForce 8800GTX na frekvencii 1350MHz, zvyšok čipu (TMUs a ROPs) na 575MHz. Tieto frekvencie sú nezávisle od seba nastaviteľné. Zatiaľ čo je pomer jednotiek ALUs/TMUs u G80 pevný, dá sa ALU/TMU výkon meniť cez takt.

 

V priepustnosti pamäte ide nVidia tiež novými cestami. GeForce 8800GTX má 384-bit DDR zbernicu a 768 MiB RAM. GeForce 8800GTS má 320-bit DDR zbernicu a 640 MiB RAM. Skalárnosť architektúry rozšíriť aj pre zbernicu, priepustnosť je niečo nové. Pokiaľ sa v článku píše o G80 myslí sa na GeForce 8800GTX a pri G71 na GeForce 7900GTX.

Shader core:

G80 poskytuje v prípade GeForce 8800GTX osem aktívnych Vec-16 ALUs, pričom môže ALU vykonať za takt MUL, ADD a ešte jednu MUL (try floating point operation - 3 Flops na jeden skalárny kanál). MUL znamená multiplication, ADD addition. Väčšina shader kódu je naďalej vypočítavaný pomocou MUL a ADD. ALUs majú frekvenciu 1350MHz, čo dá teoretický aritmetický výkon 518 GFLOPs/s. (8 x 16 x 3 FLOPs/s x 1, 350 GHz = 512 GFLOPs/s) nVidia však ešte stále má čo robiť so schelduler-om, nakoľko je druhá MUL jednotka doteraz nevyužívaná – aspoň tak to vyzerá.

 

Krátke pripomenutie ako to vyzerá u NV4 a G70:

 

Tu to napríklad vyzerá tak, že pri prístupu k textúre je prvá Shader-ALU (pri NV40 MUL, pri G70 MAD) blokovaná. Pri CineFX máme "priebehovú pipe". Všetko čo ide do TMU jednotky, ktorá je medzi Shader-ALU 1 a 2, musí ísť najprv cez Shader-ALU 1. Táto prevezme so svojou MUL jednotkou k tomu ešte časť korektúry perspektív. Aj pri G80 by korektúra perspektívy nemala byť úloha interpolátora, ale čiastočne Shader-ALU. To však nevysvetluje, prečo je dosiaľ len jedna MUL jednotka za takt využitá. Pomôže nám to snáď objasniť čas.

 
 
 

Predchádzajúce architektúry (u ATi aj nVidie) využívali RGBA quadpipelines. Jeden quad sa skladá z 2x2 pixelov. Jeden pixel má štyri komponenty (RGBA). Preto musí byť ALU jednej quadpipe 16x (krát) poddelená (4 pixely á 4 komponenty = 16 operácii). V každej quadpipe sa tak za takt obvykle vypočítajú 4 komponenty zo štyroch pixelov. G80 má bloky so štyrmi skalárnymi quadpipes. Za takt sa tak vypočíta 16 komponentov zo 16 pixelov (4 quads). V konečnom dôsledku sa tak výkon rovná: pre jeden quad, čiže 4 pixely, vykonať Vec3 + Vec1 operáciu trvá väčšinou jeden takt.U G80 trvá vykonať Vec3 + Vec1 operáciu štyri takty, za ten čas sa však dokončia aj štyri quady – 16 pixelov. Okrem toho existuje veľa prípadov, kde pracuje G80 efektívnejšie. K ním sa vrátime neskôr.

SLI zapojenie dvoch G80 ponúka aritmetický výkon jeden Teraflop za sekundu; pri takom výkone vyzerá aj Cell procesor ako slabý. Grafické čipy sa ešte stále vyvíjajú rýchlejšie ako procesory.

Teoretický aritmetický výkon:
G71 Pixelshader125 GFlop/s ADD125 GFlop/s MULspolu 250 GFlop/s
G71 Vertex Shader28 GFlop/s ADD28 GFlop/s MULspolu 56 GFlop/s
G80 Unified Shader173 GFlop/s ADD346 GFlop/s MULspolu 518 GFlop/s

Ako ukazuje tabuľka, ponúka Unified Shader G80 väčší teoretický aritmetický výkon ako Pixel a Vertexshader G71 dokopy. Vďaka efektivite G80 je využiteľný výkon ešte o kus vyšší ako u G71. Tieto čísla sú len teoretické maximá. Vyvodiť z rozdielu medzi nimi, výkonnostný rozdiel medzi G80 a G71 by bol nezmysel. Okrem toho vychádzam z predpokladu, že Shader-ALU využíva dve MUL operácie za takt. Vyzerá to tak, že v praxi tomu tak nie je.Ešte raz: Nepoužívať prosím tieto čísla pre porovnanie výkon medzi G80 a G71, nakoľko majú v praxi aj iné veci vplyv na celkový výkon, ktoré ostali teraz nezapočítané.

 

 

Nové TMUs, nové ROPs:

Vysoký výkon shader-core by bol málo platný, keby nemal čip aj dostatočný textúrovací výkon. G80 by mal podľa obvyklého spôsobu počítania 32 TMUs (24 pri GTS). Pričom každá TMU dokáže za takt počítať dva trilineárne sample. Tieto dva sample však musia pochádzať z tej istej textúre. Takto sa dá trilineárne a anizotropné filtrovanie urýchliť. Trilineárne anizotropné filtrovanie by sa dalo ešte dodatočne urýchliť. Či nVidia túto (a úplne legálnu) optimalizáciu použije, aby ušetrila pri trilineárnom anizotropnom filtrovaní 25% samplov sa musí ešte zmerať.


Vychádzať z predpokladu, že G80 má vlastne "64 TMUs" nie je správne, nakoľko je za takt možné vytvoriť maximálne 32 filtrovaných texel-ov. Tieto 32 TMUs sú však lepšie ako 32 trilineárnych TMUs, pretože je urýchľované aj AF. NV10 (GeForce 256) mohla pri podobnom systéme urýchľovať len trilineárne filtrovanie. S urýchlením trilineárneho filtrovania sa samozrejme urýchli trilineárne AF. GeForce4 Ti nemohla ako jediná výnimka s dvoma bilineárnimy TMUs na pixelpipe urýchľovať bilineárne AF, čo GeForce 3 a aj GeForce FX umožňovala.

Teraz chcem objasniť, či poskytovaná priepustnosť pamäte vôbec stačí na vyťaženie TMUs. Pri 32 Bit textúrach a predpoklade, že pri každom bilineárnom sample musí byť v priemere čítaný 1 texel (a zbytok prichádza z cache), bolo by len pre textúry potrebných 147.2 GB/s. Pri nekomprimovaných textúrach tak nie je dostatočná priepustnosť. (147.2 GB/s by bolo potrebných, ale len 86.4 GB/s je dostupných) – avšak output výkon je stále neprekonaný. Pri všetkých DXT formátoch (s maximálne 8 Bit na texel) je ponúkaná priepustnosť dostatočná.

TMUs sú do určitej miery odpojené. Každá Vec 16 ALU disponuje nad "štyrmi" TMUs a môže len tieto pre svoje výpočty použiť. Tieto štyri TMUs sú v skutočnosti jedna TMU so štvornásobným poddelenými jednotkami. Pričom je každá zo štyroch poddelených filter jednotiek ešte dvojite vyložená. Pri porovnaní texel výkonu s aritmetickým výkonom musíme samozrejme zohľadniť aj rozdiel frekvencií.

Threading mechanizmus sa stará o to, aby pri filtrovaní textúr bola ALU zásobovaná a vyťažená inými pixelami. Pokiaľ je potrebné, dokážu ALUs aj Vertex výpočty vykonávať a TMUs filtrovať textúry pre Pixelshader. Výpočtovým jednotkám je úplne jedno, odkiaľ k ním prídu dáta, nakoľko Unified Shader konzept vedie shadre cez tie isté ALUs. Dostať potrebné dáta v správnom poradí z ALU vyžaduje určité prepínače, ktorých komplexita je v porovnaní s počtom tranzistorom pre výpočtové jednotky často podceňovaná. S G80 threadingom sa ale nedá dosiahnuť maximálna efektivita. Preto neplatí: počet potrebných taktov = maximum z TMU a ALU taktov. Toto by mohlo byť v ojedinelých prípadoch dosiahnuté, ale nie vždy. V porovnaní s G70 je ALU oveľa zriedkavejšie blokovaná textúrovaním. Pomocou threadingu sú TMUs ale aj ALUs oveľa viac vyťažené, výkon za takt je preto oveľa väčší ako pri G70.

TMUs v G80 teraz vedia aj FP-32 filtrovanie textúr. To nie je žiadne prekvapenie, nakoľko môže byť Unified Shader použitý aj ako Vertexshader a vo Vertex úrovni sa vždy pracuje s FP32 – čiže používať aj FP-32 textúry. (NV40 a G70 môžu vo Vertexshadery pristupovať na textúry len nefiltrovane) FP32 filtrovanie textúr beží len štvrtinovou rýchlosťou a FP16 filtrovanie textúr len polovičnou rýchlosťou voči normálnemu RGBA8888 filtrovaniu textúr. FP32 filtrovanie textúr možno samozrejme využiť aj na prácu s pixelami.

Nie je mi dosiaľ jasné ako je filtrovanie FP16 a FP32 hodnôt interne realizované. Avšak to nie je pre prax podstatné. Podstatné je ale, že aj pri FP16 textúrach je možné za takt filtrovať 32 texel-ov – v praxi limituje priepustnosť. Napriek tomu môžu byť určité veci pri HDR Renderingu na G80 realizované veľmi efektívne. G71 a R580 majú pri zmysluplnom HDR Renderingu len čiastočnú podporu features. G80 dokáže pracovať s pohyblivou rádovou čiarkou, bez toho aby stratil multisampling schopnosť (G71) alebo filtrovanie textúr (R580)

 


Teoretický texel výkon pri 32 Bit textúrach (RGBA8888)
 G71:G80:
bilineárne Samples15,6 GT/s18,4 GT/s
trilineárne Samples7,8 GT/s18,4 GT/s
2x AF bilineárne* 7,8 GT/s18,4 GT/s
* pri zmenšených a rozmazaných textúrach

Nielenže je základný textúrovací výkon vyšší, ale je trilineárne alebo 2x AF (čisto z hľadiska texelfillrate) zadarmo.Odpojenie pomáha aj tomu, aby sa TMUs a ALUs zriedkavejšie medzi sebou blokovali. Podľa môjho názoru je nastavenie ovládačov pri default neakceptovateľné, nakoľko neponúka od 2x AF trilineárne filtrovanie. Túto "optimalizáciu", ktorá zakáže plnú trilineárnu filtráciu musí používateľ manuále v ovládačoch vypnúť. Pri pohľade na extrémne dobrú TMU achitektúru G80 je tento krok nVidie úplne nepochopiteľný.

Nové ROPs:

V GeForce 8800GTX je šesť ROP blokov, päť v GeForce 8800GTS. (odpovedajúc počtu jednotlivých 64 Bit pamäťových pripojení) Na jeden blok pripadajú len štyri Alphablending jednotky, ale až 32 Z-test jednotiek. Pokiaľ je v hre aj farba dá sa využiť ešte 16 Z-test jednotiek. (táto "optimalizácia" so zdvojnásobením Z/Stencil testrate pre bezfarebný Stencil a Z-rendering existuje už od NV30)

G80 ROP sú podľa toho optimalizované pre 4x Multisampling. Na prvý pohľad nerozumne vysoký počet 192 Z-testov za takt – pokiaľ nie je v hre žiadna farba – prinesie svoje využite pri prednostnom Z-pass. Doteraz trval prednostný Z-pass v porovnaní s renderingom ešte tak dlho, že v konečnom farebnom renderingu ho ušetrená fillrate nemohla kompenzovať – predovšetkým preto, že Vertexshader musel byť dvakrát použitý .

Pri G80 je veľký predpoklad, že s touto technikou sa celová rýchlosť zvýši, aj preto, že sa druhý Vertexshader pass nemusí konať. (pomocou zapamätania výsledko prvého passu) 3D engine so stencil tieňmi potrebuje beztak jeden prednostný Z/stencil pass. Jednoducho povedané: Z vysokého Z/stencil výkonu profituje kažá aplikácia, optimalizovaný sofware ešte viac vďaka efektívnejšiemu využitiu Vetex a Z/stencil výkonu.

 

Teoretický output výkon:
 G71:G80:
RGBA-8888-Alphablending10,4 GP/s13,8 GP/s
Počet pixlov pri 2x MSAA10,4 GP/s13,8 GP/s
Počet pixlov pri 4x MSAA5,2 GP/s13,8 GP/s
Počet zixelov pri 2x MSAA10,4 GZ/s55,2 GZ/s
Počet zixelov pri 4x MSAA5,2 GZ/s
27,6 GZ/s

Žiaden menovaný čip nevie využiť svoj output výkon, nakoľko limituje priepustnosť. Prečo implementovala nVidia také množstvo ROP jednotiek ? ROP jednotky sú v porovnaní s TMUs a ALUs pomerne malé, preto sa ich oplatí zabudovať viacej, aby neboli drahé ALUs vybrzdené.


 

Ďalšie vylepšenia, v čom nám pomôže Direct3D10 ?, detaily jadra:

Aj triangel setup výkon bol zlepšený, aby bol hoden nového pixelshader výkonu. Early-Z menovaný mechanizmus má za úlohu predčasne rozoznať prekryté (a tak neviditeľné) pixely a ich ani nepustiť do "pipeline". Tento mechanizmus bol tiež vylepšený. Presné čísla však nie sú známe

Detailné informácie ku cache systému žiaľ nVidia nedala. Obrovitánske cache pamäte však G80 nemá určite – pamäte je len toľko, aby bol možný bezproblémový chod. Pomocou threading mechanizmu sa dá prístupová doba k pamätiam pomerne dobre skryť. To je dôvod prečo si môže G80 vystačiť aj s menšími pamäťami cache. G80 vo forme GeForce 8800GTX potrebuje svoju priepustnosť pamäte (86,4 GB/s) tiež. (G71 má len 51,2 GB/s a GeForce 8800GTS 64 GB/s)

Málo detailov prezradila nVidia aj o vnútorných mechanizmoch pre komprimáciu. Bolo by však chybné sa spoliahať len na "hrubý výkon". Spolu s Direct3D10 je podporovaných osem rendertargets s odlišnou farebnou hĺbkou, vďaka ktorým sa dajú zrkadlové efekty alebo aj HDR lightning scény ľahšie vypočítavať.

G80 podporuje konečne 32 Bit Framebuffer s (integer) 10-10-10-2 formatovaním vrátane Multisampling podporou ako aj 64 Bit Fremebuffer (floating point) 16-16-16-16 takisto s Multisamplingom. Posledne menovaný je "lacnejší" pre scény, ktoré sú renderované s HDR lightningom . Prvý by bol "lacnejší" pre zbavenie sa v normálnych hrách tzv. colorbandingu, ktorý sa pri normálne formatovanom 32 Bit framebuffery vyskytuje v určitých hrách.

Pokiaľ viem, nie je žiadna možnosť v ovládačoch pre vynútenie 10-10-10-2, keď si aplikácia vyžiada RGBX (čiže nepotrebuje aplha kanál vo framebuffery). Existovala by takáto možnosť, bola by pri hraní Quake III veľmy užitočná.Samozrejme nie je 10-10-10-2 v integer formáte (napriek sRGB kódovaní) použiteľný pre HDR. Preto podporuje G80 aj 9-9-9-5 formát, pričom tých 5 Bit nestojí pre alpha, ale pre spoločného exponenta RGB hodnôt. Takého zadelenie Bitov vie 32 Bit šírka "slova" lepšie využiť, ako podobný "RGBE" formát s 8 Bit na kanál.

Aby sa nemuseli pri textúrach použiť hneď 64 Bit textúry, bol zavedený 11-11-10 formát s pohyblivou rádovou čiarkou.Obidve zobrazenia poskytujú podľa definície len middle dynamic range. To, že Multisampling funguje aj pri 128 Bit famebuffery (32-32-32-32) je pekné, ale zatiaľ bez významu.

Viditeľne zlepšené pri G80 sú antialaising a anizotropné filtrovanie.


 


Názov AA: Modus:
2x2x multisampling
4x4x multisampling
8x4x multisamping s rozšírením na 8x masku*
8xQ8x multisampling
16x4x multisamping s rozšírením na 16x masku*
16xQ8x multisamping s rozšírením na 16x masku*

* rozšírená maska má účinok len na polygonoch a nie na stancil tieňoch. Nakoľko je zapamätávaných viac hĺbkových informácii ako informácii o pokrytí môže dôjsť k nežiadúcim "kopčekom".
 

Všetky masky využívajú sparse grid, ktorý poskytuje optimálne vyhladzovanie pre subpixely. Podstatné je, že s "8xQ" je poskytovaný 8x sparse multisampling so všetkým čo k tomu patrí. Čiže aj TMSAA, TSSAA. Textúry s až 8192 x 8192 texelmi sú teraz vo všetkých texel formátoch použiteľné.

Aj rendertarget môže mať teraz až 8192 x 8192 pixelov, čo umožní nové antialaising módy s integrovaným oversamplingom.

Podstatné vylepšenia sa uskutočnili u anizotropného filtrovania.

G80 poskytuje neadaptívne anizotropné filtovanie. Naďalej však môže HW využívať adaptívne anizotropné filtrovanie, ktoré poznáme z NV40 a G70. Neadaptívne anizotropné filtrovanie poskytuje vždy najlepší trade off zo straty výkonu a získanej kvality obrazu. Preto neposkytuje ovládač momentálne žiaden adaptívny model anizotropného filtrovania – nVidia tak znemožňuje do určitej miery použiť rovnaké nastavenia kvality obrazu.

Samozrejme existuje nebezpečenstvo, že by nVidia znovu využila "optimalizačný potenciál" AF textúr a štandartne by bol viditeľný shimmering – ako teraz pri NV40 a G70.

Ako som už spomínal: štandartne nie je pri zapnutom AF poskytované trilineárne filtrovanie. To musí byť zapnuté až užívateľom. To čo ATi a nVidia už určitú dobu nazývajú trilineárnym filtrovaním nazývame mi "brilineárne" filtrovanie. Je však lepšie ako bilineárne, objektívne však nie je trilineárne. Len trilineárne filtrovanie vponúka plnú trilineárnu kvalitu. Prekryť ostré MIP pásy bilineárneho filtrovania nie je plná trilineárna kvalita.

Nakoľko má G80 neskutočný texel výkon, čudujem sa nad podobnými optimalizáciami.

Skonštatovať však treba, že G80 má hardwarové predpoklady, aby zobrazoval najlepšie anizotropné filtrovanie. Či budeme vidieť dlhodobo plnú kvalitu, ostáva otázne – v minulosti implementovala nVidia tajne vždy rôzne optimalizácie, ktoré spôsobovali zhoršovanie kvality obrazu. Ostáva dúfať, že nVidia nezhorší kvalitu filtrovania textúr, čo by bol vinikajúci dôvod pre kúpu mainstream karty založenej na G80 architektúre.

V prvom rade by som odporúčal čakať, akú kvalitu filtrovania textúr ponúkne nVidia v stovkových ForceWare ovládačoch.

Nasledovné obrázky ukazujú filtrovanie, bez aplikačných optimalizácii:


Pokiaľ sú trilineárne "optimalizácie" vypnuté, je 8x AF čisto z nezávislosti na uhloch skoro dokonalé.

16x bilineárne: doposiaľ maximálny AF modus na GF3/4/FX (8x) S3 Delta/Gammachrome (16x) pri bilineárnom filtrovaní na MIP úrovni 1 skôr štvorec.Tento osem uholník je jednoznačne lepší.

Plné trilineárne filtrovanie na G80 pri 16x AF – oveľa lepší výber MIP ako Radeon X1000 séria. Radeon filtruje v testery síce trilineárne, v hrách však skôr "brilineárne".

Štandartne je aktívne "brilineárne" filtrovanie. V praxi máme pri udanom trilineárnom 16x AF skoro bilineárne AF. Podľa mňa je to neakceptovateľná skutočnosť. (platí pre každého výrobcu a hlavne pre túto kartu – G80)

Týmto AF obrázkom však nemôže byť prikladaná väčšia váha – ukazujú jedine LOD výpočty, nezobrazia však možný shimmering pri podfiltrovaní.

V čom nám pomôže Direct3D10 ?

"Nemali by sme najprv úplne využiť Direct3D9 predtým než začneme využívať Direct3D10 ... ?" "Má G80 vôbec dostatočný výkon pre Direct3D10 efekty ... ?"

V DirectD10 stojí vývojárovi k dispozícii oveľa viac zdrojov (registre, konštanty, textúry atď...), čo zjednoduší programovanie rapídne. Preto by sme nemali najprv využiť Direct3D9, nakoľko sa komplexnejšie efekty dajú pod Direct3D10 rýchlejšie vypočítať. Už Shader Model 3 ponúka oveľa viac možností, ako voči Shader Modelu 2 znížiť zaťaženie procesora. Shader Model 4 pokračuje v tomto trende ďalej, aby bol procesor pri renderovaní ešte menej zaťažený.

Aj pomocou DirectD7 API by sa dali vytvoriť 3D hry, ktoré by G80 nedokázal plynule zobrazovať – preto je otázka, či je pre Direct3D10 "dostatočne výkonný G80" nezmyslená. Vždy to záleží na tom, čo chceme spraviť. 3D shootery, ktoré sa objavia ~ 2008 a budú pravdepodobne využívať Direct3D10, nebude G80 asi vedieť zobrazovať v najväčšej možnej kvalite plynule.

Avšak nemožno teraz prísť na nápad, že G80 obsahuje "Direct3D9" a "Direct3D10 jednotky". GPU má výpočtové jednotky, ktoré spracuvávajú dáta. Nie všetky sa však dajú využiť pre DirectD9 – to je ale nedostatok API a nie hardwaru.

DirectX zavádzal postupom času pevné kostry; rozširovanie tu nie je možné. Možno povedať, že Direct3D10 vyžehlí určité nedostatky predchodcu, bez zmien podstatných problémov. Direct3D je definícia, čo musí čip vedieť a ako bude kounikovať s ovládačom, Direct3D neprináša sám žiadne features. Features prináš čip.

Používateľom Windows XP zostane zatiaľ Direct3D10 nepoužiteľný. To nie je problém grafickej karty, ale softvérovej politiky Microsoftu. Kto tu bude komu škodiť sa uvidí. Nebolo by OpenGL konzorcium také ťažkopádne, mohli by sme túto alternatívnu API použiť pre "DirectD310 features". nVidia, ktorá sa ako obyčajne angažuje aj pri OpenGL, predstavila už nové extensions. (doteraz bolo možné pod OpenGL získať viac features z GeForce ako z odpovedajúcej DirectX generácie)

Vyzerá to tak, že AMD/ATi sa v tejto oblasti dotiahne (a PowerVR časom tieš). Ostávajú tak naďalej dobré dôvody pre nasadanie OpenGL API. Napriek sile Microsoftu – pri grafických kartách, koncových zariadeniach, ako aj pri novej Playstation 3 hrá OpenGL podstatnú úlohu. Nám užívateľom to otvorí cestu, získať novú flexibilitu aj na Windows XP, bez potreby emulovania Direct3D10.

Na tomto mieste neprinesiem naschvál ukážky, čo je všetko s Direct3D10 možné, nakoľko by prakticky všetky scény mohli byť renderované aj pomocou Direct3D9, len v menšej rýchlosti. Po druhé – technologické dema neodzrkadlujú skutočnosť, čo môžeme očakávať v hrách. A znovu – alebo ako často ešte ? – nám je Displacement Mapping sľubovaný. Tu však existuje množstvo principiálnych problémov, ktoré zťažujú nasadenie v real world hrách. Moja prosba na čitateľov – odvykať si od myslenia na efekty.

GPUs sú programovateľné, NV10 je len málo programovateľný, NV30 oveľa viac, NV50 (G80) by bol schopný pri vyhovujúcom Compilery nechať bežať jednoduchý C-code. G80 neumožňuje (odhliadnuc od nových Bit operácii v shader core, ktoré sa však ťažko emulujú) žiadne nové efekty.Umožňuje však flexibilnejšie programovanie a vyššiu výpočtovú rýchlosť ako všetky doposiaľ predstavené Consumer-GPUs ("spotrebné GPU"). To znamená, že umožňuje renderovať komplexnejšie efekty v reálnom čase.

Pokiaľ máme viaceré zdroje svetla, rozdielne hladké povrchy, ktoré musia byť zobrazené, možno rýchlo prísť aj k 11 (a viac) vplyvov, ktoré musia byť na jeden pixel prepočítavané. Preto potrebujeme nielen "hrubý výkon" ale aj hardware, ktorý vie teoretický výkon podľa možnosti čo najlepšie využiť. Na to sa teraz pozrieme v detaile.

Detaily jadra:

Skalár je jednoducho číslo, vektor je skupina z viacerých čísel. Preto možno chápať skalár aj ako vektor len s jedným komponentom. Jeden pixel je väčšinou znázornený ako 4D vektor ("Vec4"). Z toho tri komponenty na farbu v RGB systéme a jeden pre dodatočnú informáciu, nazývanú "alpha". Alpha je často využívaná pre odstupnovateľnú priehľadnosť. Nakoľko je pixel zobrazený ako vektor, dlhú dobu sa stavali Vektor ALUs. G80 však má "skalárne" ALUs, ale vždy pre 16 pixelov dokopy. Možno preto hovoriť aj o Vec 16 ALUs, ktoré pre 16 pixelov vypočítajú 16 vektor komponentov – 16 skalárov. G80 preto nemá 128 skalárnych pipelines. Takisto ani G70 nemá 24 pixelpipelines – je to šesť quadov. G80 má osem Vec16 quadov, ktoré sú však oveľa efektívnejšie a pracujú pri väčšej frekvencii.

Predpokladajme, že v shader kóde nasledujú tri skalárne operácie za sebou. Tieto tri operácie potrebujú u NV40 a G70 (ako aj na aktuálnych Radeon) dva takty, pretože môžu byť za takt maximálne dve rozdielne operácie "vedľa seba". Existujú aj iné obmedzenia, ktorými sa ale nebudeme zaoberať.Ako už povedané – quad pipe vypočíta za tak 4 pixely. G80 potrebuje pre tri skalárne operácie samozrejme 3 takty a nie 2 – ale vypočíta to pre štvornásobné množstvo pixelov (16 namiesto 4). "Efektívne" tak potrebuje G80 - 0.75 namiesto dvoch taktov.

DP operácie sú v G70 ešte priamo vykonané, u G80 musia byť rozdrobené na skalárne operácie. Takto sa dá DP však efektívnejšie vypočítať. Jednoducho povedané, lebo bude použitých menej ADD-ALUs. Zatiaľ čo G70 má okrem dvoch MULs aj dve ADDs, má G80 na svojích dvoch MULs len jednu ADD.

G80 architektúra tak vypočíta za takt na pixel menej ako G70, avšak viac pixelov súčastne. G80 má na quad a za takt polovičný ADD výkon ako G70. Má však vylepšenú efektivitu a pracuje pri oveľa väčšej pracovnej frekvencii, pri bez tak "širokej" architektúre.

Zaujímavé je tiež, že nová architektúra prináša aj zjednodušenia. Možnosť vykonávať v NV40 a G70 v jednej shader jednotke dve operácie za sebou, vyžaduje flexibilitu – čiže vedieť spracovať aj dlhé inštrukcie príkazov. (príkazy sú u GeForce kartách od CineFX, zapamätávané pamäťovým prístupom TMU do pipe pomocou VLIWs – Very Large Instruction Words.)

V G80 vykonávajú všetky ALUs tie isté inštrukcie a nemusia byť jednotlivo konfigurovateľné. To skracuje "dĺžku slova" VLIW – rozdelením na skaláry však stúpa počet potrebných VLIWs, na odpracovanie shadera. Nakoľko však registerfile zapamätáva len skaláry (vždy pre 16 pixelov naraz – kvôli šírke ALU), je tento efektívnejšie využívaný ako pri ostatných architektúrach. Pixelshadery G80 majú overhead pri ALUs, ktorý pri multitexturing shaderoch však nehrá rolu, nakoľko sú TMUs v tomto prípade beztak zaneprázdnené.


Špeciálne funkcie, branching performance, výpočet fyziky:

Ako som už povedal, shadre sa skladajú z veľkej časti z MUL a ADD operácii. Ale pre určité výpočty sú prídavné matematické funkcie veľmi užitočné. V princípe by sa dali realizovať aj cez textúr loop, ale odrazilo by sa to na výkone. Preto sú určité špeciálne operácie (SFUs) integrované priamo do ALU.

 

Funkcia:Účinok:
RCP1/x
RSQ1/x05
EXP 2x
LOGlog2 (x)
SINsin(x)
COScos(x)

 

Tieto špeciálne funkcie zaberú pokiaľ vieme štyri takty na G80. Väčšinu SFUs existovalo už aj na G70 a je pre ne potrebný jeden takt. S tým však nie je spojené žiadne spomalenie – nakoľko SFUs vypočítavajú len jeden skalár. 24 "pixelpipelines" G71 dokážu pri pracovnej frekvencii 650MHz vypočítať za takt 24 SFUs. 128 "skalárnych pipelines" dokážu vypočítať pri frekvencii 1350MHz za takt 32 SFUs – G80 má tak zhruba 2.8 násobný SFU výkon v porovnaní s G71.
 

Branching performance:

Zatiaľ čo G70 mal batch veľkosť 220 quadov a jeden quad sa skladá zo štyroch pixelov, môže byť zmenený len 880 pixel batch PC (program countera). Takto je aj granularita pri Dynamic Branchingu "hrubozrnná" a to je už voči NV40 veľké zlepšenie. (pri NV40 si všetky quad pipes delil jeden jediný PC!)

G80 poskytuje granularitu veľkosti 32 pixelov. To je v porovnaní s R520 (16 pixelov) horšie, ale lepšie ako pri R580 (48 pixelov).Okrem toho odpadá pri skákavých príkazoch doterajší dvoj takt overhead z NV40/G70. (menovaný overhead neodpadol ešte pri žiadnej Radeon)

Výpočet fyziky:

Agea predstavila pomocou PhysX PPU kartu pre výpočet fyziky. Odvtedy sa ozývajú hlasy aj od iných firiem: "to vieme aj my". nVidia často poukazuje na to, že aj ich GPUs môžu byť použité na urýchľovanie fyziky. Tu však treba marketingové vyjadrenia posunúť bokom.

AMD mala pomocou "3DNow!" jednu v CPU integrovanú 2xSIMD výpočtovú jednotku, ktorú predával marketing ako urýchľovač grafiky. Intel išiel ešte ďalej a pomocou SIMD jednotky nazývanej ISSE, by malo byť (aspoň tak to bolo ponúkané) urýchľované surfovanie po internete. PPU od Agei, tak isto aj G80 GPU sa dajú využiť ako stream procesory. Čo je s tým myslené, je čipu jedno. On nevie či počíta grafiku alebo fyziku, proste spracuváva dáta.

G80 umožňuje vďaka integrovaným výpočtovým jednotkám v princípe, aby sme preňho kompilovali C-Code. So správnym slotom by sa G80 dal využiť ako paralelné CPU. Takýmto slotom je CUDA. Samozrejme neostane nVidia v tomto vývoji sama. AMD/ATi sa už teší aby sa ich GPUs využívali na "negrafické úlohy".

G80 by sa dal – hlavne vďaka Geometry shaderu – a trochou kreativity vývojárov využiť na urýchľovanie "physic" efektov (ako čistý fyzikálny efekt, bez relevantného vplyvu na hru), ktoré by boli integrované do enginu. Niektoré jednoduché efekty sa dali urýchľovať aj pomocou Vertex shaderu 1.1 už na GeForce3.

Výrobcovia grafických kariet naschvál neuvádzajú konkrétne čísla. Nie je to, ale žiadne prekvapenie, nakoľko bude grafická karta ukrátená o výkon ktorý sa využije pre výpočet fyziky. Čo spravia vývojári s ponúkaným výkonom, sa dá len ťažko odhadnúť – hlavne aj preto, že kým sa dostanú hry s fyzikou do predaju bude G80 už história – pokiaľ k tomu vôbec príde.

Kupec G80 nemôže v žiadnom prípade dúfať, že v blízkej budúcnosti uvidí v hrách geniálne fyzikálne efekty. Predpokladám, že vývojári stavia v budúcnosti primárne na multicore CPUs ako urýchľovače fyziky. Čisto z teoretického hľadiska, je G80 vhodný pre "negrafické úlohy", preto aj pre urýchľovanie fyziky. G80 ponúka v tomto momente najlepšiu kombináciu z všestrannosti a rýchlosti – som si istý. To je tiež dôvod, prečo sa vedci zaujímajú, ako využiť ohromný výkon za pár sto dolárov, hlavne pre "negrafické účely".

 

 

 

Záver, výhľad do budúcnosti:

AMD/ATi vyhlási Unified Shader rchitektúru a nVidia ju ponúkne pre koncového používateľa. Okrem G80 boli 8.11.2006 predstavené aj dva nové čipsety - nForce i680 generácie. Pre Intel aj AMD platformu. Kto má dostatočné financie dostane k dnešnému dňu od nVidie maximálny výkon a kvalitu obrazu. To, že G80 dosiahne nové výkonnostné hranice, sa dalo predpokladať. Prekvapivé sú však dva fakty – po prvé umožňuje G80 nekompromisnú kvalitu obrazu vďaka 8x sparse Multisampling Antialiasingu a takmer dokonalé 16x anizotropické filtrovanie v HighQuality móde. Pokiaľ samozrejme nVidia nepríde na nápad, pomocou optimalizácii, zhoršiť kvalitu filtrovania textúr.

 

V antialaisingu bola nVidia dlho druhá, teraz s G80 môžete s 8x sparse Multisampling ("8xQ") spolu s temporary anitalaisingom získať najlepšiu kvalitu vyhladzovania hrán v oblasti consumer grafických kariet. CSAA módy (8x, 16x, 16Q) sú oproti tomu len "hračky".

Ďalej je pôsobivé akým spôsobom zvýšila nVidia efektivitu čipu a efektivitu filtrovania textúr. Samozrejme, ani G80 nie je dokonalý. V určitých oblastiach však ponúka úplné nové, zmysluplné podnety, aby boli výpočtové jednotky čo najlepšie vyťažené. Okrem toho ponúka neskutočne vysoký texelfillrate výkon. Nad celou architektúra sa naozaj niekto zamýšľal.

Chladič je pre high end kartu prekvapivo tichý. Pri GTX verzii G80 sú potrebné dva 6 pinové konektory, pri GeForce 8800GTS len jeden 6 pinový konektor pre zásobovanie karty energiou.

Výhľad do budúcnosti:

Tak ako je G80 (NV50) dobrý, tak bude aj jeho nástupca – (NV55) vďaka niektorým interným vyplepšeniam – ešte výkonnejší. Či sa ďalšie zvýšenie výkonu dosiahne väčšou "šírkou" a vyššími frekvenciami alebo len frekvenciami nie je také podstatné. Väčší refresh (NV60) prinesie okrem zvýšenia výkonu aj zreteľné vylepšenia a rozšírenie feature set-u, pričom sa u (NV65) ešte viac zvýši výkon. Až potom pri (NV70) uvidíme kompletne novú architektúru. Neexistuje konečný čip.

Aj keď G80 vyzerá ako dobre – a technicky je veľmi dobrý – musíme ho brať len ako prvý čip jeho architektúry.

G80 ukazuje na všetkých frontoch, že sa nVidia poučila z minulých chýb. Vychytávanie chýba sa nezastavilo ani popri vývoji G80. Doteraz bol veľký výkonnostný náskok k predchodcovi u nVidie pri násobkoch dvadsiatky – NV20 (pri vysokej kvalite obrazu), NV40, nechajme sa prekvapiť NV60 ("G90"). Preto je aj prekvapivé, že sa nVidii podarilo so zavedením novej architektúry hneď dosiahnuť až taký veľký výkonnostný skok voči predchádzajúcej generácii.

Možno pomerne ľahko spozorovať, že sa nVidia zamýšľala nad tým, aby bola G80 architektúra rozšíritelná smerom hore. Čipy so 448 alebo 512 Bit zbernicou by nemali byť problém. Zo stránky features poskytuje G80 samozrejme všetko čo vyžaduje Direct3D10. Možno tiež predpokladať, že už teraz sa pracuje v Santa Clare na tom, aby bolo možné pri vydaní AMD/ATi R600 vydať, alebo aspoň ohlásiť rýchlejšiu GeForce 8 kartu.

Pokiaľ sa pozrieme do blízkej budúcnosti môžeme očakávať zaplavenie trhu rôznymi kartami postavenými na G80 architektúre. Vďaka skalárnosti a efektivite architektúry bude ešte viac platiť, "bang for the buck" ako by bolo možné dosiahnuť len zmenšovaním výrobného procesu.

Od ultra lowcost až k ultra high end kartám môže byť G80 architektúra využívaná, spolu s Direct3D10 feature set-om. Vynikajúci Direct3D 9 SM3.0 výkon je tak zaručený.

Pre G80 userov, je zatiaľ potrebné aby nVidia vylepšila hlavne ovládače. Control panel tieš nehodnotím ako veľkú novinku – tak by som privítal:

- používateľom nastaviteľný oversampling (supersampling) v 0.5 krokoch na x/y osy

- aby pri zapnutom AF bolo štandartne zapnuté trilineárne filtrovanie, nie brilineárne

- opravenie chýb, ktoré spôsobuje ovládač

 

 

Komentáre (18)
glide
Dost obsiahly clanok a osobne sa mi velmi pacil. Pre bezneho cloveka bude asi dost tazko zrozumitelny, ale na druhej strane je otazne akej skupine citatelov je urceny. Chcelo by to ale urcite ete trosku zeditovat, je tam zatial vela chyb. V kazdom pripade dobra praca.
Ledy
Lidi, neviem kto to písal. Ale je to nečitateľné. Nebolo to aspoň sčasti prebraté z nejakej English stránky? Akože vety v štýle "Sú to nové prístupy k danej problematike ako aj G80 je." "Tu to napríklad vyzerá tak, že pri prístupu k textúre je pravá Shader-ALU (pri NV40 MUL, pri G70 MAD) blokovaná. Pri CineFX máme "priebehovú pipe". Všetko čo ide do Tex jednotky, ktorá je medzi Shader-ALU 1 a 2, musí ísť najprv cez Shader-ALU 1." "Takto sa dá trilineárne a anizotropné filtrovanie urýchliť. Trilineárne anizotropné filtrovanie by sa dalo ešte dodatkovo urýchliť. Či nVidia túto (a úplne legálnu) optimalizáciu použije, aby ušetrila pri trilineárnom anizotropnom filtrovaní 25% samplov sa musí ešte zmerať." "Nie je mi dosiaľ jasné ako je filtrovanie FP16 a FP32 hodnôt interne realizované. Avšak to nie je pre prax podstatné. Podstatné je ale, že aj pri FP16 textúrach je možné za takt filtrovať 32 texel-ov – v praxi limituje priepustnosť." "V antialaisingu bola nVidia dlho druhá, teraz s G80 môžete s 8x sparse Multisampling ("8xQ") spolu s temporary anitalaising získať najlepšiu kvalitu vyhladzovania hrán v oblasti consumer grafických kariet." Netrúfam si posúdiť nakoľko autor pozná problematiku grafických kariet, ja sa nevyznám na toľko aby som vedel povedať ako funguje grafická karta, ale pokiaľ ide o čitateľnosť a zrozumiteľnosť tak musím povedať, že textu proste NEROZUMIEM. Hemží sa to tam cudzími výrazmi, ktoré nikde nie sú vysvetlené, často sú použité anglické alebo poslovenčené anglické slová ako napríklad "códu" a pod. Ja viem, že v našej komunite sa používa určitý slang, ale tu je to evidentne prehnané.
barco
No tak vyborny clanok crux! Ale tak ako pisal Ledy mohol by si ta dat aspon slovnicek vyrazov, nie kazdemu sa pacia taketo odborne texty... (a nie kazdy tomu rozumie) Ale mne sa to paci ;) btw budes robit aj test 8800GTX? viem ze jednu mas doma.
killswitch
no tak ja neviem, toto sa mi nechce verit, ze by crux vypustil von takto nedoladeny clanok (alebo preklad z nejakeho ineho serveru?). a uz vobec sa mi nechce verit, ze to dakto z vedenia neprebehol aspon zbezne. uz v prvom odstavci je vidiet kopa stylistickych chyb a vyzera to naozaj ako preklad z nejakeho translatora. ako vedomosti cruxa su v tejto oblasti urcite velmi dobre, ale clanok je pre mna necitatelny a tak cakam na verziu 2.0, kde si tieto vedomosti budem moct osvojit..zatial naozaj velmi slabe..
crux2005
ja som to písal - som aj podpísaný :-). Nepreberal som to zo žiadnej stránky. Problém je proste naša reč. Slovenčina. Áno. Nevadí mi aj keď mi nikdo nebude veriť. nVidia ako vieš sídli v Californii - USA - konkrétne v Santa Clare. Väčšina sveta hovorí po anglicky. Väčšina odborných výrazov z oblasti grafiky sú z angličtiny. Tak nebudem prekladať všetko. Vyznelo by to 1. čudne, 2. amatérsky, 3. by sa aj niekdo mohol pýtať "čo tým autor myslel ?" "čo to je?" "hmmm". MUL, ADD sú preložené, tiež určité odborné výrazy. @Ledy čítal si už na slovenskom/ českom webe hocijaký technologický článok ? Určite si si všimol slovíčka ako filtrovanie, Multisampling, antialaising, textúra, anizotropné filtrovanie atď. Tieto slovíčka nemá zmysel prekladať - nakoľko ich každý kdo sa o danú problematiku aspoň trochu zaujíma pozná. BTW: anizotropné látky ? hmm fyzika ? Vyznelo by to smiešne ich prekladať. Vysveliť ich ? Hmmm. Samozrejme dalo by sa. Avšak, o čom je ten článok ? O HDR renderingu ? o vysvetlení princípu vyhladzovania hrán ? alebo vysvetlenie ako funguje ? alebo o ukážke rôznych gridov ? Kde si napríklad na českej/slovenskej stránke videl preložené ALU ? ROP ? TMU ? Jednoducho to tak je. Hej, malo tam byť kódu. @barco: ja som už zásadne proti slovníku výrazov. Také nájdeš v časopisoch ala ... nebudem menovať. Každý ich aspoň raz v živote videl. K čomu je to dobré ? Aby sme ešte viac zmýlili ľudí ? Tie výrazi sa proste nedajú jednoducho vysvetliť, ktoré by ste asi radi mali vysvetlené. Treba ich vysvetliť v súvislostiach a na také vysvetlenie už treba článok. Rozsiahly k tomu ešte. Samozrejme. Nepredpokladal som, že každý bude všetkému rozumieť. Avšak kdo aspoň trochu čita problematiku, aspoň trochu číta články - aj iné ako len s "peknými slovami" ktorým rozumie - ten by nemal mať problém. Možno je však problém, že som chcel spraviť článok príliš technologický - čo na ČR, SR web stránkach som až do takej miery nevidel. Možno je toto ten nesprávny web. Možno ešte nedozreli používatelia. Neviem. Nechcem súdiť ani hodnotiť.
killswitch
nikto ti nema za zle, ze si chcel vydat clanok na urovni. za to som ti aspon ja osobne velmi vdacny. lenze je bohuzial z velkej casti necitatelny. nehnevaj sa, ale slovesa na konci viet mi silne pripominaju nemcinu a tak sa neviem zbavit dojmu, ze si minimalne niektore veci cerpal z tvojich oblubenych nemeckych stranok ci for. btw na tom by nebolo nic zle, pokial by si to ale uviedol v clanku. co sa tyka vyrazov, tak tam s tebou uplne suhlasim. kto aspon zbezne navstevuje weby, ktore sa tomu venuju alebo fora, kde sa o tom diskutuje, tak ten nema problem sa zorientovat. bohuzial aj po tejto stranke je v clanku viacej chyb. ja osobne to beriem ako naozaj vyborny napad. ved rozsah tohto clanku a odbornost tu snad ani este nebola. musim sa ale opakovat, pre mna necitatelne. a naozaj nechcem citat kazdu vetu pat krat, aby som pochopil co si chcel povedat a potom dalsich pat minut, aby som pochopil o com sa tam pise. viem ,ze to nie je lahka robota, ja by som na to asi nemal, ale na clanku je este kopa roboty. killswitch
crux2005
ešte sa na to pozriem. Je to z mojej hlavy. OK - ja viem, slovesá na konci viet. To je moja chyba. Žil som v Rakúsku skoro 5 rokov. Je to na mne poznať. Chyby v anglických výrazoch ? Ktoré ? kde ?
Ledy
Počuj crux, fakt skús si to po sebe občas prečítať. Tie odborné výrazy sú síce troška časté, ale nie to je hlavný problém. Hlavným problém je štylistický. Vety sú ťažko zrozumiteľné, často jedna na druhú nenaväzuje, niektoré slová sú vytrhnuté z kontextu atď. ... BTW, podľa mňa na taktovanie chodia na 60-80% násťročný a nie dsaťročný, malý chalpci sa do takéhoto technického žargónu moc nerozumejú a pochybujem, že sa do toho rozumie väčšina veľkých chlapcov. Čo som čítal podobné články o G80 na cz stránkach tak tam sa skôr zamerali na všeobecný prehľad ako na technologické vychytávky a mikroelektronické špecifikácie. Konieckoncov nie každý chodí na FEIku a študuje mikroelektroniku.
killswitch
tou "Vec"-ou myslis zlozku hodnoty? teda povedzme 3+1? RGB + priehladnost?
killswitch
uz som to nasiel, ako si to myslel... inak G80 dokaze pocitat nie len 3+1 alebo 2+2, ako vacsina GPU doteraz, ale aj 1+1+1+1 alebo vlastne hociake rozlozenie hodnot..
crux2005
nič sa nedeje. Kde som tvrdil opak ?
gogi
vobec to nie je o prilisnom pocte odbornych vyrazov, tento clanok je urceny (aj svojou zlozitostou) tak pre vyvojarov 3d enginov, tento clanok je opis procesora a to je urcene pre usku skupinku ludi, procaky(akekolvek) su kua zlozite a popisat ich/ho nejde jednoducho ale aj tak tam je vela preklepov, a niektore slovne kombinacie su na slovencinu dost divne, holt vidiet ze si zil v cudzine, mal si to dat niekomu skontrolovat/prefiltrovat ale inak klobuk dole - takto sa rozumiet hw
strelooriginal
karta nema konkurenciu. Porovnat ju technicky z R600 to by bolo......
dexman
presne ako hovoris. porovnat ju s R600 by bolo sialenstvo lebo este nie je este co porovnat.a suche cisla samy o sebe este nic neznamenaju
eotslubo
je to fakt vyborny clanok ale strasne tazko citatelny....nato kolko mas rokov vies toho dost vela ale co sa tyka stylistyky tak si uplne mimo....cital som ho len preto lebo ma to zaujimalo a keby som nemal velky zaujem si to precitat tak po paru minutach by som to zavrel .... chcem tym povedat ze uz ked pises take clanky tak nech su aj pre menej znalych v tychto veciach a aby aj nieco si z toho zobrali .... ale inac klobuk dolu... tot fsio
optimista
Aj ked niektorym vyrazom naozaj nerozumiem konecne som sa dozvedel odkial pochadza spolocnost nVidia lebo casto sa v clankoch uvadza "kanadska ATI a konkurencna nVidia"Aj tak si myslim ze je to dobry clanok a po nejakej dobe ho pochopia vsetci co ho budu citat
badbat
fakt super clanok ....niektore veci som nepochopil ... ale to bude asi prijimacom :D idem na to este raz
MEPHISTO
Genialny článok , určité vedomosti mám a veľa nového som sa dozvedel . Inteligentný človek sa učí rád a preto články takéhoto formátu kvitujem , dúfam , že autor bude v tomto duchu pokračovať...
Pridať nový komentár
TOPlist