OBSAH 1. 2. 3. 4. 5.
Obecné vlastnosti grafických karet Zobrazování objektů – viz. odkaz pdf Test Radeonu 9700 GeForce FX Seznam použitých adres
http://www.superboy.webzdarma.cz/gkarty.htm Grafické karty, které se většinou zasouvají do AGP slotu, jak jsem psal v kapitole o základních deskách, zajišťují všechno to, co vidíte na monitoru. Bez ní by nebyl monitor nic víc, než jen černá obrazovka bez jakékoliv známky života. Asi to nejdůležitější u grafické karty, na kterou se ptá snad skoro každý jako první je její paměť. První grafické karty měly paměť třeba i ubohých 256 nebo 512 kB. Ty už ale dávno patří do muzea, takže když se na trhu objevily karty s čipem Voodoo od firmy 3Dfx, znamenalo to revoluci v trojrozměrné grafice. Tyto čipy pak ještě dlouho mezi grafickými akcelerátory absolutně panovaly. Jenže pak firma 3Dfx zmizela, což dalo prostor dalším firmám. Mezi nimi se nejvíce prosadila firma nVidia, která se se svými čipy, jako například Riva TNT, TNT2, GeForce256, GeForce2, GeForce3 a nejnověji GeForce4 absolutně ovládla trh. Teď se sice o konkurenci pokusila firma ATI, a do určité míry se jí to povedlo, ale její čipy pořád nedosahují výkonu mocných GeForce od nVidie, a to hlavně kvůli špatným ovladačům. V minulosti byla také hodně známá firma Matrox, ale ta už dávno mezi grafickou špičku nepatří. Dobrá grafická karta by měla dnes zvládnout vysoké rozlišení, to je počet bodů (pixelů), který dokáže grafická karta společně z monitorem. Dnešní standartní rozlišení jsou 800x600, ale lépe 1024x768 nebo 1280x1024. Existují i vyšší rozlišení, jako například 1600x1200 pixelů, ale to se objevuje u větších monitorů, které se zatím ale moc nerozšířily. No a grafických kartách mě už toho zrovna moc nenapadá, takže to asi bude konec. http://www.topgrafic.com/grafiky/prace.html
Celkový popis Složení Jsou neméně důležitou částí zobrazovací soustavy než monitory. Grafické karty vlastně přiřazují barevný kód jednotlivým pixelům. Každá grafická karta (zobrazovací adaptér) se skládá ze dvou základních částí a to z grafického čipu a z videopaměti. Grafický čip : Jako je procesor mozkem počítače, tak je grafický čip mozkem graf. karty. Ulehčuje práci procesoru tím, že provádí vlastní výpočty a výsledek jde přes převodník do monitoru. Podle grafického čipu se už dá poznat jak je asi karta kvalitní... při jeho výběru byste měli přihlížet na : frekvenci a cenu, která dnes není příliš malá. Neméně důležitým indikátorem kvality graf. čipu je jeho datová šířka: může být 32-bitorá (dneska je už zastaralá), 64-bitová (dnes takový standard) a 128-bitová (zatím se řadí mezi "top", i když Radeon 9700 ..). Videopaměť : Je druhou nejdůležitější součástí na grafické kartě. Je potřeba aby byla co nějvětší s co největší frekvencí. Ukládá se naní "to co je na monitoru" tj. čím větší rozlišení
tím více pixelů - tím více paměti je potřeba. Potřebná velikost paměti: rozlišení x počet bitů pro vyjádření barvy /8. Lepší je však větší pamět. počet barev
počet bitů
název
16
4
---
256
8
---
65536
16
Hi color
16,7 mil.
24
True color
16 bitů
Tato tabulka ukazuje počty barev, kolik má každy počet bitů a jak se který počet nazývá
24 bitů
rozlišení
8 bitů
640x480
512KB 1MB 1MB
Tato tabulka ukazuje, jaká by měla být nejmenší 512KB 1MB 2MB videopaměť na určité rozlišení a na určitou hloubku 1024x768 1MB 2MB 4MB barev 800x600
1280x1024
2MB
4MB 4MB
1600x1200
2MB
4MB 6MB
Provedení Provedení grafických karet : Nejstarší typ byl ISA - s tím se asi setkáte jen v muzejních kouscích, další byl PCI - vyskytuje se u starších počítačů, poslední známá verze je AGP (2x,4x) je standardem (dneska se prodává už jen AGP 4x a možná bude nastupovat AGP 8x). Další možností je integrovaná grafika na zákl. desce. S grafiky můžou být vyvedeny 3 výstupy - klasický VGA pro připojení monitoru - je na každé grafice, DVI pro připojení digit. panelu a S-VHS (televizní výstup) - jsou na těch lepších kartách. (neznamená to ale, že kde není DVI a S-VHS je grafická karta špatná!).
Tvorba obrazu Ještě zkráceně jak se vlastně tvoří obraz (3D): 1)Program popíše jak bude obraz vypadat, předá tuto scénu prostřednictvím API (Application Programming Interface) ke zpracování hardwaru. 2)Zobrazovaná těles se musí matematicky popsat (převedení povrchu tělesa na síť trojúhelníků), tělesa se pak otočí do polohy pohledu pozorovatele a viditelné trojúhelníky se odstraní. 3)Pak se nakreslí povrch těles, dopočítají se souřadnice hran a potom souř. vnitřních bodů trojúhelníků. 4) Další krok je filtrování, vyhlazování roztřepených hran, odstranění rušivých barevných přechodů...
5) Zviditelnění trojúhelníků.. bližší objekty se musí objevit před vzdálenějšími. 6) Snímek se odešle ke zpracování do monitoru. Tak to byl krátký postup práce při tvorbě obrazu. Jak vidíte, je to docela složité, navíc to všechno musí probíhat velmi rychle. Není se čemu divit, když za zobrazovací soustavu dáme velmi výraznou část peněz z celého počítače. http://www.zive.cz/h/PCkutil/Ar.asp?ARI=106719&CAI=2075
Grafické karty: která je výhodnější? Kwolek Jiří - 22.7. 2002 Před časem jsme provedli analýzu cenové výhodnosti procesorů, dnes se podíváme, jak si z tohoto hlediska vedou grafické karty. Za tímto účelem jsme vybrali 12 grafických karet v cenách od 1 900 do 11 000Kč a s nimi jsme provedli 168 měření. Po doplnění posledních cen jsme obdrželi žádané grafy cena/výkon. Závěry, které z nich lze vyvodit byly pro nás poměrně velkým překvapením. Čtěte! Motiv vedoucí k analýze cena/výkon grafických karet byl obdobný jako v případě procesorů. I když typové řady grafických akcelerátorů (výkon, a potažmo i cenu, totiž většinou určuje použitý grafický čip) se v poslední době příliš neměnily, jejich ceny "skáčou" téměř den ode dne. Typy, které dříve byly zaručeně nejlepší koupi se po několika takových cenových kotrmelcích mohou octnout v pozici "kaufu" průměrného, nebo dokonce podprůměrného a naopak, typy dříve nedosažitelné se mohou octnout v mnohem přijatelnějších číslech (což se skutečně potvrdilo). V první části článku se podíváme na výkon, v druhé provedeme cenovou analýzu. Řady grafických karet Tato část článku je určena těm, kteří se v problematice grafických karet teprve začínají orientovat - ostatní ji mohou přeskočit. Zkušenost ukazuje, že výkon (ale i cena) grafické karty většinou závisí na použitém grafickém čipu a na typu a rychlosti paměti, jíž je karta vybavena. V průběhu času se vytvořila celá řada kombinací čip - paměť (s odpovídajícím taktováním), které se staly základem obdobných grafických karet mnoha výrobců. Značí to, že pokud narazíte například na grafickou kartu řady GeForce4 MX 440, mělo by být i bez testů jasné, jaký výkon po ni můžete očekávat (i když existují výjimky - většinou však potvrzující výše zmíněné pravidlo). Zásada "rovnosti výkonů" platí striktněji než zásada "rovnosti cen" - zde je již na vás, jestli dáte přednost kvalitnější značce, nebo levnějšímu "no-namu". Cenový "příplatek" (často velmi oprávněný) "za značku" je od 600 do 1800Kč. Na co byste při nákupu měli pamatovat: TV out - Pokud budete počítač provozovat doma, nebo si budete pouštět hry, video nebo multimedia, volte vždy kartu s TV (ve skutečnosti vlastně video) výstupem. Kvalita obrazu na
tomto výstupu bývá, na rozdíl od minulosti, dnes již velmi dobrá. Příplatek za "TV OUT" dnes navíc bývá velmi nízký - některé karty mají tento výstup integrován vždy. P.S. Jak je TV výstup užitečný pochopíte okamžitě, pustíte-li si (nebo ne) například film ve formátu DivX na velké televizi.
Technická poznámka: TV výstup bývá nejčastěji realizován jako výstup typu S-Video (malinký čtyřkolíkový konektor) s oddělenou chrominanční a luminanční složkou videosignálu. Kompozitní signál (většinou žlutý konektor RCA), pokud není zbytí, vytvoříme odpovídající redukci. ViVo - Video in / video out - zkratka ViVo se ujala pro karty, které jsou vybavené nejenom video výstupem, ale po nainstalování odpovídajících ovládačů, dokážou videosignál i "grabovat". I když málokdo tuto funkci skutečně používá, umožňuje digitalizovat a ukládat analogové videosekvence (typicky z televize, z videorekordéru) na disk počítače. Nebýt typicky vysokého šumu analogového signálu, byl by to vynikající způsob (např. po převedení do DivX) archivace analogových videozáběrů na disk či CD-R media. Video in nelze použít pro připojení digitálních kamer (za tímto účelem se používá rozhraní IEEE 1394 / FireWire). Technická poznámka: Karty ViVo mají často vyveden zvláštní devítikolíkový konektor obsahující zároveň vstupy i výstupy S-Video - vždy budete potřebovat odpovídající rozdvojku - S-Video kabel nelze bez redukce k tomuto konektoru nelze připojit.
DVI - je konektorem umožňujícím přímé digitální připojení plochých LCD panelů (ty lze však alternativně propojit i VGA konektorem, kvalita obrazu však bývá mírně nižší). Pokud použijete propojení DVI, obraz není třeba složitě nastavovat (jeho geometrii a synchronizaci). Konektor DVI bývá bílý a je značně širší. Existují redukce, které z DVI dokážou vyvést signál VGA - pak většinou obdržíme výstup na druhý monitor. Druhý monitor lze použít jako kopii původní plochy nebo jako její rozšíření. Tato funkce bývá označována jako Dual VGA / Dual View / Dual Head.
http://www.svethardware.cz/sh/sh1.nsf/f050302a44d77860c1256b350036da9f/513c1c857817 9d16c1256c060022ce70?OpenDocument
Úvod Společnost ATi Technologies byla vždy známá v grafické oblasti jako "ta druhá". Když se konečně podařilo vypustit nějaký obstojný grafický čip, nVidia odpověděla rychle a rázně. Rozruch kolem vypuštění čipu Radeon 8500 byl okamžitě zhašen řadou GeForce4 Ti, kde i nejslabší GeForce4 Ti 4200 byla rychlejší než Radeon, o Ti4600 nemluvě. Radeon 8500 sice držel krok v základních testech, ale jakmile přišel FSAA, anizotropní filtrování či vyšší rozlišení, tento čip vyhořel.
V softwarové oblasti to také ve společnosti ATi příliš nešlape a její ovladače byly snadno předčeny skvělými Detonatory. Nová řada Detonatorů většinou zvýší výkon řádově o jednotky až desítky procent, zatímco v ATi mají co dělat, aby dokázali řádně optimalizovat a ošetřit ubohé drivery. Poslední řada Catalyst je ovšem krokem vpřed.
Obr. 1 - Jak vypadá krabice klikněte pro zvětšení Radeon grafických přehled 9000 PROkaret V posledních prohlášeních byl John Carmack, velká kapacita v oblasti 3D grafických enginů a šéf firmy id Software, velice optimistický ohledně nových čipů od ATi. Po ostré kritice GeForce4 MX (pro kterou byla ona "čtyřka" v názvu velkým polichocením :-) určil na výstavě Electronic Entertainment Expo společnost ATi jako ideální platformu pro svůj připravovaný velký projekt DOOM 3. A zdá se, že věděl, co dělá. ATi Technologies vypustili 17. července 2002 svoji revoluční rodinu grafických čipů s názvem R300, nebo-li Radeon 9700. Ať to dopadne s konkurencí (nVidia NV30) jakkoliv, dovolím si říci, že tento okamžik vstoupí do historie grafické scény a alespoň pár měsíců se bude o Radeonu 9700 mluvit s velkým respektem. Proč revoluční? Radeon 9700 v současnosti nejpokročilejší grafický procesor se 107 miliony tranzistory a kompletně novou architekturou přinášející vysokou šířku pásma, paralelismus, efektivitu, preciznost a programovatelnost. Výkon je ohromující a podle testů je cca o 50% - 150% vyšší než jaký podává GeForce4 Ti4600. Tento článek přímo logicky navazuje na popis mainstreamového grafického čipu a s novými Radeony. Zatímco Radeon 9000 Pro se dostal do ruky téměř každému známému serveru, na Radeon 9700 se zblízka mohl podívat pouze server AnandTech, později pak ještě několik vyvolených. Pojďme si tedy projít specifikace, technologie, architekturu a výkon tohoto "vizuálního grafického procesoru" (VPU), jak jej ATi nazývá.
Specifikace grafického čipu ATi Radeon 9700 (R300) Jak již bylo řečeno, Radeon 9700 přináší téměř revoluční architekturu, která se samozřejmě promítá i do specifikací. Parametry jsou vskutku ohromující: • • • • • • • • • • • • •
Výrobní proces: 0,15 mikronu Počet tranzistorů: 107 milionů Frekvence jádra: přes 300MHz, možná 325MHz Počet pipeline: 8 Počet TMU na pipeline: 1 Počet textur na TMU: 2 Pixel fillrate: 2,52 Gpixel/sek. Texture fillrate: 2,52 Gtexel/sek. Výkon při FSAA: 15,6 mil. vzorků/sek. Počet programovatelných vertex pipeline: 4 Udávaný triangle rate: 325 mil./sek. Paměťová sběrnice: 256-bitová (4 x 64-bit) Max. frekvence paměti: 650MHz DDR
• • •
Max. propustnost: 20,8 GB/s Max. velikost paměti: 256MB (standardně 128MB) Grafické rozhraní: AGP 8x
Radeon 9700 je "nabušený" ze všech stran a nad svou konkurencí má náskok třídy (nebo generace? :-). Už jen počet tranzistorů je v porovnání s jinými čipy obrovský: Athlon XP - cca 40 mil., Pentium 4 55 mil., Radeon 8500 - 60 mil., GF4 Ti4600 - 63 mil., Parhelia 512 - 80 mil. Na druhou stranu, nVidia
NV30 by měla obsahovat cca 120 milionů tranzistorů. Tab. 1 - Srovnání Radeonu 9700 s Radeonem 8500 a GeForce4 Ti4600 Radeon 9700 vytáhne maximum z 0,15mikronového výrobního procesu a jeho jádro bude taktováno až na 325MHz. Čip také jako jediný obsahuje osm pixelových pipeline, ale pouze jednu TMU na každé. Se dvěma texturami na TMU to znamená, že čip dokáže zobrazit až 16 textur v jednom průběhu. Fillrate anti-aliasovaných textur je oproti ostatním čipům obrovský - 15,6 Gtexelu za sekundu oproti 4,8 Gtexelům u GeForce4 Ti4600, popř. 1,1 Gtexelu u Radeonu 8500.
Počet zobrazovaných trojúhelníků je 325 milionů za sekundu a i zde je náskok nedosažitelný - 136 mil. u GF4 Ti4600, 69 mil. u Radeonu 8500. Díky 256-bitové paměťové sběrnici je šířka Radeon 9700 pásma dvojnásobná oproti Ti4600, a to 20,8 GB/s. Po čipech 3DLabs P10 a Matrox Parhelia je Radeon 9700 třetím čipem, který s 256-bitovou sběrnicí přichází. Výrobci ale k tomuto typu sběrnice přecházejí velice neochotně, protože s přechodem zaniká prakticky kompletní pinová kompatibilita, a proto je třeba přepracovat design celého čipu, včetně grafických karet (z čehož nejsou pro změnu nadšeni jejich výrobci). Nemůžeme opomenout ani jednu věc, od dob Voodoo 5 nevídanou, a to konektor pro externí napájení. Není divu, že čip takových rozměrů jako je Radeon 9700 nevystačí s napájením daným specifikací AGP 3.0, a tak sáhli návrháři ATi k zapojení grafické karty ke zdroji v počítačové skříni. Přesto ale není externí napájení nutností, protože např. na Computexu 2002 předváděla společnost nový Radeon bez něj, ale údajně to má za následek snížení výkonu. Vedlejší specifikace: • • •
Podpora precizních barev s 10 bity na kanál Nezávislé současné ovládání dvou monitorů Duální integrovaný 10-bitový DAC (až 400MHz)
• • •
Integrovaný 165MHz TMDS vysílač (max. QXGA, tzn. 2048x1536) Integrovaná TV-Out (až 1024x768) Výstupy VGA, S-Video, DVI-I
Architektura jádra ATi R300 Plná kompatibilita s DirectX9 velký technologický postup. Vertex shadery u DirectX9 mohou být daleko komplexnější než dříve díky novým specifikacím, více konstantám a podporou až 1024 instrukcí na jeden vertex shader program. Počet instrukcí pixel shaderu také vzrostl, a to na 160. Velice diskutovaným tématem je, že DirectX9 obsahuje podporu 64-bitové (16-bit FP na barvu) a 128-bitové (32-bit FP na barvu) floating-point barevné hloubky. Rapidně se tak zvyšuje množství možných vizuálních efektů a kvality obrazu.
Tab. 2 - Porovnání schopností různých verzí DirectX Sice chvíli potrvá než se specifikace DirectX 9.0 dostane ven, ale Radeon 9700 má schopnost vysoké akcelerace i dnešních her, které stále používají DirectX7 nebo DX8. Je to hlavně díky jeho osmi pipeline, čtyřem vertex shaderům a 256-bitovému paměťovému rozhraní, které poskytuje šířku pásma až 20GB/s. Aby byl Radeon 9700 plně kompatibilní s DirectX 9.0, musí mít celá pipeline kompletní FP (floating point) architekturu. Tento požadavek rapidně zvyšuje počet tranzistorů, a tak se zde dočkáme neuvěřitelných 107 milionů stmelených 0,15mikronovým procesem. Tento počet ale rapidně zvyšuje velikost celého čipu, který tak obsahuje přes tisíc pinů, více než bude obsahovat AMD ClawHammer. Proto je u R300 jako u prvního grafického čipu, použito balení FCBGA. Zde je obrázek rozložení jednotlivých technologií na čip, kde je velice výrazná část použita pro FPPU. Nové technologie jako 256-bitová paměťová sběrnice a AGP 8x také ukously velkou část čipu.
Obr. 2 - Rozložení jednotlivých technologií na ploše čipu
Radeon 9700 je také schopný jistého druhu multiprocessingu, ale na přímý dotaz společnost ATi odpověděla, že žádnou grafickou kartu s více VPU neplánuje. Společnost ale zmínila, že existují vládní a vojenské aplikace, které by hypoteticky mohly výhodu takové architektury využít, a tak chce být ATi "vždy připravena".
AGP 8x První fází pipeline je odeslání dat a příkazů softwaru ke grafickému jádru. K tomu samozřejmě slouží sběrnice AGP. Radeon 9700 je prvním dostupným procesorem, který je vybaven plnou podporou nejrychlejšího grafického rozhraní AGP 3.0, nebo-li AGP 8x. Propustnost až 2,1 GB/s je nutná k přenosům všech typů dat včetně 3D modelů, textur, shaderů a video sekvencí. Hlavně textury jsou velice náročné na šířku pásma, a tak AGP 8x přináší dvojnásobnou rychlost než současné AGP 4x a je vhodné pro graficky náročné hry a aplikace pracovních stanic. Grafická sběrnice AGP 3.0 je taktovaná na 66MHz a přenáší data osmkrát za vteřinu (tzn. 533MHz).
Architektura paměti K vysvětlení použiji jednoduchý obrázek:
Obr. 4 - Schéma paměťové architektury
Z nákresu je vidět, že 256-bitová paměťová sběrnice se skládá ze čtyř nezávislých 64-bitových kanálů, které mohou navzájem a současně zapisovat data do paměti, nebo načítat data z paměti do grafického procesoru. Architektura zajišťuje nejefektivnější využití těchto čtyř kanálů. Radeon 9700 je dokonce architektonicky připraven na nový typ paměti, DDR-II, které se objeví na počátku roku 2003 a zvýší výkon čipu až o 50%. Pokud jste podobné schéma již někde zahlédli, tak se nedivte. Podobnou architekturu totiž používá ve svých posledních čipech i nVidia. Neznamená to ale, že ATi kopíruje plány jiných, ale že využívá nejefektivnější dostupné metody využití paměti. Konkrétně jde o "kopii" čtyřcestných křížových paměťových řadičů jaké jsou k vidění u Light Memory Architecture 2 (LMA2) čipů GeForce4. Na rozdíl od LMA2 ale používá Radeon 9700 64-bitové kanály (dovolené 256-bitovou sběrnicí) a navíc, jak je vidět na schématu, naleznete na tomto čipu pátý uzel, který řídí vstupní a výstupní funkce AGP portu. Všech těchto pět uzlů je propojených do switche, který díky časování a plánování jednotlivých vstupů minimalizuje paměťovou latency (zpoždění). A nakonec několik čísel. Ze současných 20,8GB/s je efektivně využitelná šířka pásma asi 15GB/s (efektivita paměti kolem 70-75%). Současné DDR paměti podporují 266MHz frekvenci, zatímco DDRII, které půjde také použít, budou taktovány na 400MHz. A maximální frekvence čipu 325MHz přinese až 23% zvýšení šířky pásma, takže tu máme 25,6 GB/s, z čehož lze efektivně využít cca 18 GB/s. Kvůli velké obsáhlosti tohoto tématu bude článek rozdělen na tři části. První, která obsahovala specifikace a architekturu čipu a paměti jste právě dočetli. Ve druhé části (zítra) naleznete kompletní popis pipeline včetně vertex shaderů, pixel shaderů a technologie SmoothVision. Třetí část (čtvrtek) obsahuje technologii HyperZ III, VideoShader, výstupní funkce a hlavně výkonnostní testy.
Vertex shadery Celá 3D scéna je tvořena pospojitými skupinami trojúhelníků, které vytvářejí všechny viditelné povrchy. Vertex processing engine ("motor" zpracovávající vrcholy) provádí matematické operace a maticové výpočty, díky kterým lze umístit, natočit, animovat, obarvit, transformovat a osvětlit (T&L engine) všechny vrcholy, polygony a povrchy. Všechny tyto procesy jsou vyvolány malými programy zvanými vertex shadery, které jsou společně s daty zaslány do grafického procesoru.
Obr. 5 - Vertex processing engine klikněte pro zvětšení Radeon 9700 obsahuje velice výkonný vertex processing engine, který zahrnuje čtyři paralelní vertex shader pipeline. Jako jediný čip je tak schopen zpracovat jeden vrchol a jeden polygon v jediném cyklu. Tyto schopnosti mu umožňují splnit specifikaci Vertex Shader 2.0 a tím i DirectX9. Tím, že dokáže Radeon 9700 zpracovat jeden trojúhelník za cykl (tzn. 325 milionů polygonů za vteřinu při 325MHz), překonává až 2,5-násobně GF4 Ti4600.
Specifikace Vertex Shader 2.0 konečně zabezpečuje plnou programovatelnost a obsahuje instrukce řízení toku, tedy podmínky jako skoky, cykly a procedury. Teoreticky jsou vertexové programy podle této specifikace schopny provést až 1024 instrukcí a 256 konstant, ale hlavně podporují 128-bitovou floating-point barevnou hloubku pro osvětlovací fázi vertexového procesoru.
Obr. 6 - Vertex shader pipeline klikněte pro zvětšení Každá shader pipeline ve vertex processing enginu je navržena k simultánnímu provádění vektorových i skalárových operací. Data potřebná pro vektorové operace jsou vícesložková, například 3D souřadnice (x, y, z) a barvy (červená, zelená a modrá složka). Skalárové operace pracují s jednosložkovými hodnotami. Díky zahrnutí možností obou operací se může rychlost zpracování zvýšit až o 100%. Celý vertex processing engine je navržen tak, aby plně odpovídal specifikaci Vertex Shader 2.0, který je součástí DirectX 9. Díky řízení toku není nutné opakované psaní příkazů, ale vertex shader programy jsou schopné používat např. cykly. Ve Vertex Shaderu 1.4 byla jediná možnost, jak zapsat dejme tomu 100 přičtení jedničky k proměnné, třeba 200 řádků dlouhá. Nyní ji lze zapsat cyklem na dva řádky.
Truform 2.0 Specifikace Truform 2.0 náleží stále do vertex processing enginu, ale uvedu ji ve zvláštní kapitole. Klíčové schéma pro vysvětlení je toto:
Obr. 7 - Truform 2.0 klikněte pro zvětšení
Truform 2.0 je nejnovější technologie společnosti ATi pro povrchy vyššího řádu (higher order surface). Neslouží k ničemu jinému než ke zjemnění zakřivených povrchů např. 3D postav, objektů a terénu zvýšením počtu polygonů procesem zvaným "mozaikování" (tessellation). Vznikají tak přirozenější scény, které bez výraznějšího útlumu výkonu obsahují více polygonů (které není nutné zasílat přes AGP) a "kulatější" tvary. Nová verze technologie Truform není omezená pevnými celočíselnými úrovněmi mozaikování, ale podporuje spojité mozaikování s floating-point mozaikováním, které díky plovoucí desetinné čárce vytváří jemnější přechody. Radeon 9700 také obsahuje adaptivní mozaikování, které dynamicky zvyšuje úroveň mozaikování v závislosti na vzdálenosti "pozorovatele", takže blízké předměty jsou přesnější a hladší než vzdálená krajina apod. V obrázku jste si mohli všimnout "displacement mappingu" (mapování posunutí), který upravuje umístění vrcholů podle hodnot speciální textury zvané "displacement map". Jedná se vlastně o realističtější a detailnější formu bump-mappingu. Displacement mapping je součástí specifikace DirectX 9 a poprvé ho využila karta Matrox Parhelia. K využití této moderní technologie je ale samozřejmě třeba softwarové podpory a pochybuji, že si vývojáři her budou přidávat další práci na displacement map kvůli (zatím) dvěma grafickým čipům. Na rozdíl od původní verze Truform totiž displacement mapping není kompatibilní se staršími hrami, takže tuto komfortní technologii využijí pravděpodobně pouze hráči leteckých simulátorů apod. ATi sice tvrdí, že aplikace displacement map je jednoduchá, ale žádný vývojář her se zatím k aplikaci Truform 2.0 nerozhodl. Tuto technologii nevyužije ani John Carmack ve svém velkém projektu DOOM III.
Pixel pipeline Poté, co jsou vytyčeny a osvětleny všechny potřebné vrcholy, je dalším krokem vyplnění polygonů jednotlivými pixely. Barva je určena podle druhu textury a osvětlení jednotlivých vrcholů a také podle druhu materiálu. Celou tuto fázi zajišťují malé programy zvané pixel shadery, které jsou s daty zasílány do grafického jádra. Radeon 9700 přichází jako první grafický procesor s osmi paralelními pixelovými pipeline, které dokáží logicky vykreslit až 8 pixelů současně. Každá z těchto 128-bitových renderovacích pipeline obsahuje nezávislou TMU a pixel shader engine. Díky dvěma texturám na TMU je Radeon 9700 schopen vykreslit až 8 x 1 x 2 = 16 textur v jednom průběhu. Formáty textur jsou rozličné - jedno-, dvou- nebo třírozměrné s bilineárním, trilineárním nebo anizotropním filtrováním.
Obr. 8 - Schéma pixel pipeline klikněte pro zvětšení Díky podpoře Pixel Shaderu 2.0, obsaženého ve specifikace DirectX 9.0, podporuje pixel pipeline floating-point operace, které jsou daleko přesnější a poskytují vyšší rozsah hodnot něž celočíselné operace používané doposud. K výpočtům je použita až 96-bitová přesnost, která je nutná pro ty nejvyspělejší efekty poskytované Radeonem 9700. Barvy obsahují dokonce až 128-bitovou přesnost (článek o 128-bitových barvách vyjde v pátek). Pokud se Vám zdá jediná texturovací jednotka na každé pipeline málo, musím Vás vyvést z omylu. Pokud totiž vezmeme v úvahu 32-bitovou trilineární texturu, pak je potřeba 32-bit x 8 (trilineární textura) x 8 (počet pipeline) = 2048 bitová šířka pásma, kterou ale paměť ani se svými 2 x 256 bity nemůže poskytnout. Při bilineární textuře je stále potřeba 1024 bitů v jednom cyklu, a tak by další TMU neměl žádný smysl.
Obr. 9 - Pixel shader klikněte pro zvětšení Výše vidíte jednu z osmi pixelových pipeline grafického čipu Radeon 9700. Díky schopnosti provádět současně až tři instrukce dosahuje pipeline vysoké efektivity. Všechny tři operace jsou samozřejmě desetinné a zahrnují vyhledávání textury, jednu texturovou adresovací operaci a jednu barevnou operaci. Stejně jako u vertex shaderu je díky implentaci více schopností do jedné pipeline zajištěno maximální využití. Podle specifikace Pixel Shader 2.0 je pixel pipeline schopna provést až 160 instrukcí. Každý pixel shader program dokáže provést až 32 vzorkovacích operací na 16 různých texturách a dalších 64 barevných operací. Počet cyklů na jeden průběh je různý a může dosáhnou i vyšších čísel, např. při použití anizotropního filtrování. Když je překročen limit 160 instrukcí, nastane multipass díky kterému se program dokončí v dalších cyklech.
Obr. 10 - Efekt 128-bitové FP hloubky barev Díky 128-bitové hloubce barev s desetinnou čárkou jsou výsledky zpracovávaných obrazů vskutku uchvacující. Tuto technologii zde nebudu příliš rozvádět, ale vše se dozvíte v pátečním článku o 128bitových barvách. Další výhodou této barevné hloubky je vysoký rozsah jasu, kterého byste při 32bitových barvách nedosáhli. Zde jsou nějaké obrázky z Anadtechu, které ukazují velký rozsah barev:
Obr. 11 - Různé úrovně jasu včetně 128-bitových barev klikněte pro zvětšení
V konečné fázi jsou ale 128-bitové barvy převedeny zpátky na formát 10:10:10:2 (a zaokrouhleny).
SmartShader 2.0 Technologii SmartShader jsme nižší verzi představili už v popisu Radeonu 9000 Pro a ATi ji nezapomněla implentovat ani do Radeonu 9700. V podstatě jde o technologii, která umožňuje výkonnější a flexibilnější manipulaci s vertex a pixel shadery. S trochou nadsázky lze říci, že takto technologie je jedním ze strůjců efektů filmové kvality v real-time hrách a jiných interaktivních aplikacích. SmartShader 2.0 je plně kompatibilní s DirectX 9.0 a OpenGL 2.0.
SmoothVision 2.0 Tato technologie je také vylepšená verze té, která se objevila u Radeonu 9000, a přináší nenovější techniky k vylepšení kvality obrazu ve 3D aplikacích. Jde o technologii zahrnující full scene antialiasing a anizotropní filtrování. Téměř bez ztráty výkonu jsou tyto techniky schopné několikanásobně zvýšit kvalitu obrazu.
Pro FSAA (full scene anti-aliasing) je použito efektivnější metody než u Radeonu 8500, totiž MultiSamplingu. Původní verze, SuperSampling, byla založená na tom, že grafický čip vyrenderoval stejný obraz několikrát přes sebe s určitým posunem od středu a poté jednotlivé vrstvy splynuly (zprůhlednily se) za vzniku koncové scény. Tato metoda nejen že provedla vyhlazování, ale navíc zvýšila rozlišení textur. Ale obětí byla velice velká ztráta výkonu, protože stejná scéna se musel vykreslovat několikrát přes sebe (Radeon 8500 dokázal vykreslit pouze 1,1 milionu AA vzorků za sekundu).
Obr. 12 - MultiSampling u při 6x FSAA klikněte pro zvětšení MultiSampling je založen na velice jednoduchém principu s ohledem na z-hodnotu jednotlivých pixelů (hloubka pixelu). Podle toho, jaké část pixelu je zakryta se spočítá vyvážený průměr barvy v pozadí a v popředí a ten určí finální barvu pixelu. Sice se tím zvýší frekventovanost Z-bufferu, ale výkon není příliš ovlivněn. Díky Z kompresi se ušetří až 50% šířky pásma kvůli technologii HyperZ III (viz dále). ATi Radeon 9700 obsahuje oba typy anti-aliasingu - SuperSampling i MultiSampling a podporuje 2x, 4x a 6x FSAA.
Obr. 13 - Gamma korekce odstínů šedi SmoothVision 2.0 také používá speciální techniku k vylepšení FSAA na Radeonu 9700. Algoritmus pro gamma korekci zajišťuje, že barevné odstíny generované při anti-aliasingu se na monitoru zobrazí s jemným přechodem, nelineárně.
Anizotropní filtrování Přináší další vylepšení oproti Radeonu 8500. Algoritmus pro adaptivní anizotropní filtrování u Radeonu 8500 určoval počet vzorků s ohledem na uživatele. Za výsledek to mělo, že v situacích, které vyžadují nejvyšší stupeň anizotropního filtrování vzal grafický čip maximální počet vzorků nastavený v ovladačích (až 16x AF). Problém byl v tom, že tato metoda brala v úvahu pouze rotace podél os x, y a pokud byla použita i osa z, mělo to za následek nejnižší typ filtrování - bilineární. Ještě připomenu, že anizotropní filtrování je metoda, která zvyšuje kvalitu textur zobrazených pod velkým úhlem. Tento problém byl příchodem SmoothVision 2.0 vyřešen, a tak Radeon 9700 podporuje nejen trilineární i anizotropní filtrování, ale bere v úvahu i rotace kolem osy z. Podle ATi by mělo mít i použití 16x AF minimální dopad na výkon (max. 10%). Radeon 9700 obsahuje dva typy filtrování "výkonnostní" bilineární a "kvalitní" trilineární". Ale to ještě není od technologie SmoothVision 2.0 vše. Obsahuje totiž také techniku zvanou Dynamic Fur Growth, která by se dala popsat jako chlupaté okraje. Jednoduše vytváří lepší efekt ochlupení než tomu bylo u dřívějších grafických karet.
Obr. 14 - Dynamic Fur Growth klikněte pro zvětšení
Každý povrch lze lehce simulovat tou správnou texturou. Problém u srsti ale nastává tehdy, když potřebujeme, aby chlupy přesahovaly okraj daného povrchu, což nazýváme uvedeným spojením "chlupaté okraje". Na obrázku vidíte, jakým způsobem dokáže zobrazit srst Radeon 9700.
HyperZ III Jednou z nejdůležitějších technologií Radeonu 9700 je zcela jistě HyperZ třetí generace. Tento systém slouží k úspoře šířky pásma a tím zvyšuje výkon nejen renderování. HyperZ III se skládá ze tří částí - hierarchické Z (hierarchical Z), Z-komprese (Z Compression) a rychlé uvolnění Z (Fast Z Clear). Většina z Vás jistě ví, že každý objekt, polygon a pixel má kromě klasických souřadnic ještě speciální, která vyjadřuje "hloubku" bodu, nebo-li vzdálenost od pozorovatele. Tento parametr se ukládá do Zbufferu a je použit k tomu, aby grafický čip určil, které předměty jsou před jinými. Problém je v tom, že zápis a čtení Z-bufferu je velice náročné na šířku pásma, čímž se stává slabým místem ve výkonu. Technologie HyperZ slouží k úspoře šířky pásma využívané Z-bufferem a zvýšit tak výkon. Tradiční 3D akcelerátor zpracovává každý polygon nezávisle na zbytku celkové scény. Pokud nebere grafický čip ohled na ostatní objekty, tak použije na každý polygon textury a stíny. Každý pixel či polygon ale musí být zkontrolován a porovnám se Z-bufferem, aby bylo zjištěno zda-li je viditelný či nikoliv. Tato kontrola ale probíhá až když jsou pixely osvětleny a "potaženy" texturou. Pokud se při této kontrole z-bufferu pixel ukáže jako "vrchní" (překryje nějaký stávající pixel) nahradí překrytý pixel v zadním bufferu (back buffer) a z-buffer se aktualizuje. Pokud je naopak zjištěno, že se tento pixel nachází za nějakým existujícím, pak se žádné změny nekonají. Takto se může stát, že je některý pixel několikrát překreslen. Nakonec se zadní buffer překopíruje do předního a scéna je zobrazena. A překreslování pixelů je jedním z hlavních konzumentů šířky pásma. Engine zpracovávající jednotlivé polygony samozřejmě není schopen určit, který pixel je schovaný a který je vpředu. Výsledkem toho je, že je vykreslováno až o 300% polygonů více než je třeba. A proto jsou vyvíjeny technologie, které tomuto problému zamezují (např. Kyro II) a jednou z nich je HyperZ III. HyperZ III ovšem neeliminuje základ těchto potíží (překreslování), ale až jejich důsledek, tedy častý přístup do Z-bufferu. Zvyšuje tak efektivitu všech přístupů, které jsou prováděny za účelem kontroly polohy jednotlivých pixelů.
Obr. 15 - HyperZ III - hierarchické Z klikněte pro zvětšení Prvním komponentem technologie HyperZ III je hierarchické Z. Tato metoda rozdělí Z-buffer na bloky pixelů, které mohou být rychle zkontrolovány, zda-li budou v konečném obraze viditelné. Jestli je zjištěno, že bude celý blok skrytý, tak se vyřadí a renderovací jednotka zpracuje další. Pokud jsou některé části bloku viditelné, tak se rozdělí na menší bloky, které jsou poté zpracovávány znovu. Na konci jsou všechny neviditelné pixely vyřazeny a obraz je zaslán do pixel shaderu. Díky technologii Early Z jsou jednotlivé bloky Z-bufferu dále rozdělovány až na samostatné pixely (bloky jsou 8x8, 4x4, 2x2 a 1 pixel).
Obr. 16 - HyperZ III - Z-komprese klikněte pro zvětšení Druhou částí je Z-komprese, která díky bezztrátovému algoritmu komprimuje data zasílaná do Zbufferu. HyperZ III dosahuje minimálního kompresního poměru 2:1, v některých případech až 4:1. Pracuje i s FSAA, kde při 6x SuperSamplingu se může poměr pohybovat kolem 24:1. Proto se ATi vytahuje minimální ztrátou výkonu při FSAA.
Obr. 17 - HyperZ III - Fast Z Clear klikněte pro zvětšení
Fast Z Clear je technika rychlého vyprazdňování Z-bufferu mezi jednotlivými renderovanými snímky. Tato technologie je příhodná při použití vysokých rozlišení, kdy je Z-buffer plný informací o jednotlivých pixelech. Například při rozlišení 1600x1200 musí být každý snímek zapsána do Z-bufferu data k vyčištění o přibližné velikosti 7,7MB. Díky Fast Z Clear je ale k vyčištění bufferu třeba pouze 1/64 tohoto množství dat a rapidně se tak zvyšuje rychlost
VideoShader Radeon 9700 obsahuje speciální funkce k přehrávání videa, které je dalším rozšířením převahy ATi v této oblasti. Technologie VideoShader slouží k využití síly programovatelných pixel shaderů k přehrávání video sekvencí. VideoShader má mnoho využití včetně de-blokování streamovaného internetového videa, filtrování šumu nahraného videa, různé filtry k manipulaci s jednotlivými sekvencemi a nové algoritmy pro ostřejší a čistší obraz z TV či DVD nahrávek.
Obr. 18 - VideoShader V jiných architekturách se grafické funkce a funkce pro přehrávání a manipulaci s videem vyskytují v různých částech čipu. VideoShader u Radeonu 9700 ale kombinuje tyto funkce a díky programovatelným pixel pipeline umožňuje všemožné techniky k přehrávání videa. Technologii Fullstream jsem rozebrali již u popisu Radeonu 9000 Pro, takže pouze stručně - Tato technologie ruší mozaikový efekt u streamovaného internetového videa, který je zapříčiněn nízkým rozlišením a jednotlivé body jsou pak velké. U nahrávaného videa je pak např. eliminován šum a nahrávka je pak čistší.
Obr. 19 - Technologie Fullstream Výstup na monitor shrneme krátce. Jak již bylo řečeno, i přes použití 128-bitových FP barevné hloubky jsou před zasláním dat na monitor barvy sníženy na formát 10:10:10:2. Tento poměr kanálů RGBA už byl k vidění u 3DLabs P10 a Matrox Parhelie, takže to není nic nového. Stejně jako Radeon 9000 Pro podporuje tento vyspělejší bratříček software HydraVision, který slouží k současnému ovládání výstupu na dva monitory. Dále Radeon 9700 obsahuje dva integrované 10-bitové 400MHz RAMDACy pro CRT a jeden integrovaný 165MHz TDMS vysílač pro digitální ploché displeje. TV-Out podporuje formáty NTSC/PAL/SECAM v nejvyšším rozlišení 1024x768.
Obr. 20 - Schéma výstupů na monitor
Srovnávací testy a výkon V úvodu našeho článku jsme avizovali, že jediný server, který měl šanci otestovat grafickou kartu Radeon 9700 vlastnoručně, je AnandTech. Není to ale tak, a proto Vás nyní seznámím s více testy. Převezmu pár výsledků srovnávacích testů, na kterých je jasně vidět, že GeForce4 Ti4600 je proti novému Radeonu skutečně pozadu. Testovací sestava serveru AnandTech byla: • • • • •
Intel Pentium 4 2,4GHz ASUS P4T533-E (čipset i850E) 2 x 128MB PC800 Kingston RDRAM Maxtor D740X 80GB, 7200rpm ATi Radeon 9700, 128MB & Matrox Parhelia, 128MB & NVidia GeForce4 Ti4600, 128MB
Je nutné připomenout, že testovací vzorek Radeonu 9700 byl taktován na 325MHz jádro a 310MHz paměť. Na AnandTechu sice také testovali Matrox Parhelii, ale protože její srovnávací testy s GeForce4 jsou již známé, budu Radeon 9700 srovnávat pouze s GF4 Ti4600. V benchmarku Unreal Tournament 2003 (DM-Antalus) při rozlišení 1024x768x32-bit byl Radeon o 38% rychlejší než GF4, při rozlišení 1280x1024x32 o 48% a při 1600x1200x32 o celých 54%. Ve stejné hře, ale DM-Asbestos byl Radeon 9700 rychlejší o 18%, 25% a 27% (v pořadí jako předtím). Zajímavých výsledků dosáhl Radeon ve hře Jedi Knight 2, kde by se dalo říci, že propadl. Výkonnostní rozdíl oproti Ti4600 totiž činil -2%, -1% a +10%, což je na grafický čip další generace opravdu málo. Serious Sam 2: TSE dopadl lehce ve prospěch Radeonu, kde získal o 15%, 40% a 50% vyšší výsledky, zatímco v Quake III Arena to bylo o 4%, 23% a 37%. Je vidět, že výkon při standardním nastavení není tak oslnivý, ale trumf Radeonu 9700 leží ve SmoothVision 2.0, tedy anti-aliasingu a anizotropním filtrování. Zde jsou výsledky pro FSAA a AF: V připravované hře Unreal Tournament 2003 / FSAA byl výsledek Radeonu v testu DM-Antalus o 151% vyšší a v DM-Asbestos o 128% vyšší než u GeForce4 Ti 4600! Přes tyto obrovské rozdíly neběží hra při rozlišení 1600x1200x32 a 4x FSAA ideálně plynule, a tak i nový čip ATi musí snížit rozlišení na 1280x1024. Ve hře Quake III Arena / FSAA a rozlišení 1600x1200x32 při 4x FSAA byl výkon Radeonu 9700 o 149% vyšší než GeForce4
Další v server v pořadí, který měl šanci otestovat ATi Radeon 9700 byl ExtremeTech. Testovací sestava byla: • • • • •
Pentium 4 2,53GHz 512MB PC1066 RDRAM čipset i850E Sound Blaster Audigy Windows XP Pro
•
DirectX 8.1
Zajímavé je, že testovací vzorek Radeonu 9700 byl taktován na 325MHz / 325MHz (650MHz DDR), což je více než v předchozím případě. Zde je opět několik percentuálních rozdílů oproti GeForce4 Ti4600: Testy v 3DMark 2001 SE dopadly velice zajímavě. Celkově předstihl Radeon nejsilnější GeForce o 132%! Částečné výsledky v 3DMarku mluví také jasně pro ATi R300: Advanced Pixel Shader +192%, Pixel Shader +137%, Vertex Shader +70%, Nature +147%. Jedná se sice o testy pro DirectX 8.0, ale výsledky jsou více než přesvědčivé. Herní testy byly provedeny při rozlišení 1024x768x32 při 4x FSAA a výsledky jsou neméně interesující. Ve hře NHL 2002 byl totiž Radeon 9700 o 11% pomalejší než Ti4600. Je to tím, že hra má zamknuté 16-bitové barvy, což se stalo velkou překážkou pro SmoothVision 2.0. Je to smůla pro ty, kteří si budou chtít zahrát i starší kousky, ale Radeon si udržuje laťku ve vyšších rozlišeních, kde je opět rychlejší než konkurent od nVidie. Další hry dopadly pro Radeon lépe - Dungeon Siege +32%, Jedi Knight 2 +23% (pokud se divíte při srovnání s výsledkem AnandTechu, tak zde bylo použit 4x FSAA), UT 2003 +98% (pro změnu nižší rozlišení než u AnandTechu), Comanche 4 +15%, NASCAR 2002 +23%, Serious Sam 2: TSE + 97%. Nejvýraznějšího výsledku dosáhla karta s novým čipem od ATi ve hře Jedi Knight 2 při 1600x1200x32 a 4x FSAA, kde převálcoval GeForce4 Ti4600 o 314%! To by mohlo jako ukázkový vzorek výkonu nového Radeonu stačit (přestože se našlo ještě pár serverů, které měly kartu k dispozici). Přes neoptimalizované ovladače, které musí ATi dělat pro Radeon 9700 prakticky znovu (kvůli téměř neshodné architektuře) dosáhla karta slušných výsledků. Při standardních testech není náskok tak znatelný, ale jakmile dojde na FSAA a anizotropní filtrování, Radeon 9700 překonal GeForce4 Ti4600 místy o více než 150%.
Závěr Shrnutí je jasné - Trh s grafickými čipy má nového krále, Radeon 9700! Výsledky jasně potvrzují, že nVidia ztratila své vedoucí postavení a dokud nevypustí svůj další čip, NV30, bude ve výkonu a technologickém pokroku na druhém místě. Na druhou stranu, podle daných specifikací to vypadá, že nVidia NV30 bude ještě rychlejší než Radeon 9700 a to nejen kvůli podpoře DirectX 9.0, ale hlavně díky 0,13mikronovému procesu, který dovolí čipu běžet na vyšších frekvencích než R300. Přesto bude ale Radeon 9700 přinejmenším pár týdnů nejvýkonnějším a technologicky nejvyspělejším grafickým procesorem na trhu. Díky 325MHz frekvenci jádra a až 650MHz DDR pamětem má tento čip ještě vyšší takt než GeForce4 Ti4600. Plná hardwarová podpora specifikace DirectX 9.0, 107 milionů tranzistorů, 8 pixel pipeline, 4 vertex pipeline a plně programovatelná floating-point architektura jsou hlavní strůjci vítězství tohoto VPU. Paměťová sběrnice díky svým 256 bitům zvyšuje propustnost až přes 20GB za sekundu a paměťová architektura přináší nejefektivnější využití až 256MB DDR SDRAM. Radeon 9700 je také jediným čipem na trhu, který v jednom hodinovém cyklu vykreslí jeden polygon a 16 textur. Výkon se projevuje hlavně při využití technologie SmoothVision, která i při použití 6x FSAA a 16x AF udržuje výkon karty v rozumných mezích. Zatím se ale jedná o grafiku pouze pro hardcorové hráče, kteří jsou schopni zaplatit $400 (u nás se bude cena pohybovat kolem 15 tisíc). Výkon a technologická pokročilost tomu ale odpovídá a navíc bychom se měli v krátké době díky novým Radeonům dočkat snížení cen ostatních grafických karet. John Carmack je také z nového řešení nadšený a DOOM 3 pravděpodobně využije hlavních předností Radeonu 9700 (bude např. obsahovat až 80MB textur). Také se povídá, že ATi schovává pro R300 přechod na 0,13mikronovou výrobní technologii a mělo by k němu dojít do konce roku. Pravděpodobně by při této příležitosti také začal čip využívat pamětí DDR-II, takže krátce po vypuštění NV30 by nVidia dostala další ránu (ačkoli nevím, jak velký rozdíl bude mezi R300 a NV30). Grafický čip NV35 připravený k vypuštění na jaře, by měl ale trh opět vrátit
do starých kolejí. V plánech ATi Technologies ještě figuruje All-in-Wonder založený na R300 s hardwarovým dekódováním MPEG-2 a jakási odlehčená verze Radeonu 9700, která ponese název Radeon 9500. Tento čip vyplní mezeru mezi $129-dolarovým Radeonem 9000 Pro a $399-dolarovým Radeonem 9700 a v ceně mezi $200 - $300 se vám dostane do ruky VPU se čtyřmi pipeline a nižšími taktovacími frekvencemi. Datum vypuštění je naplánováno na poslední čtvrtletí letošního roku. Když se nedávno ještě zdálo, že nVidia nemá po zakoupení největšího konkurenta 3dfx soupeře, tak společnost ATi dokázala pravý opak. Se svým Radeonem 9700 výrazně překonala nejsilnější čipy nVidie a získala si tak alespoň svých patnáct minut slávy. Hráči tak mají další důvod proč slavit. Král je mrtev, ať žije král!
http://www.technet.cz/lat/hw/hw_grafickekarty/geforcefx1.html
NVidia GeForce FX odhalila svá tajemství 19.11.2002 -
Miroslav Brož -
GeForce FX - Hollywood ve vašem PC? O víkendu začal Comdex 2002, a s ním se přiblížil i dlouho očekávaný okamžik - NVidia ohlásila svůj nový čip, vyvíjený pod označením NV30. Už dlouho se proslýchalo, že označení "Geforce 5" se konat nebude, ale výsledek zas tak moc odlišný není. Marketingové oddělení NVidie se rozhodlo pro "Geforce FX", kde FX označuje efekty. Nezbývá než doufat, že si již tak dost zmatení uživatelé nebudou karty "Geforce MX" a "Geforce FX" příliš plést. Dlouhé čekání Při vydání TNT2 začala nVidia propagovat velmi agresivní šestiměsíční vývojový cyklus, ve kterém se střídalo vydání nové karty s vydáním lehce vylepšeného čipu. Je pravda, že ne vždy se jí to zcela dařilo (Geforce2 i Geforce2 Ultra by se asi daly označit jako vylepšená verze Geforce), ovšem NV30 představuje skluz zatím největší. Některé vlastnosti, se kterými tento nový drahokam od nVidie přichází, byly očekávany už od "jarního čipu", tedy od GeForce 4, ten s nimi však nepřišel. Vlastní NV30 měla být v říjnu již na pultech obchodů. Nyní je druhá polovina listopadu a karta je teprve ohlášena. Stálo čekání za to? Nový výrobní proces... GeForce FX je prvním čipem od nVidie vyráběný 0.13 mikronovým procesem. Zatímco ATI se rozhodla zůstat (pro svůj Radeon 9700 = R300) u osvědčeného 0.15 procesu, nVidia skočila do hluboké vody. Tento krok je bezesporu hlavním důvodem velkého zdržení, ovšem pravděpodobně se vyplatil - zatímco nový Radeon je se svými cca 110 milliony tranzistory taktován na 325 MHz, V30 by měla se 125 miliony tranzistory běžet přibližně na 500 MHz (přesná čísla zatím nejsou známa). NVidia také doufá, že konkurenci zdrží přechod na novou
technologii stejně jako jí - toto ovšem nemusí být očekávání zcela opodstatněné, protože vlastní výrobci čipů celý postup jistě odladí. Vzhledem ke zvýšenému počtu tranzistorů nVidia také sáhla k jinému stylu balení vlastního čipu (podobně jako již předtím ATI). Toto nové balení mimo jiné znamená nižší spotřebu a větší odolnost proti interferencím, což opět přispívá k vysoké taktovací frekvenci NV30.
... a nové paměti ... Narozdíl od Matroxu a ATI, zůstala NVidia u 128 bitové paměťové sběrnice. Použila ovšem nové DDR-II paměti od společnosti Samsung. Ty sice neumožňují 4 přenosy během jednoho taktu, jako očekávané paměti typu QDR, ovšem díky vylepšenému předávání adresovacích signálů zvládají běžet na frekvenci 500 MHz, což u DDR pamětí dává efektivní frekvenci 1 GHz (1000 MHz). Pro srovnání, paměti v Radeonu 9700 běží na frekvenci 310MHz (620 MHz efektivně) a dává tak přenosovou rychlost/propustnost 19.8 GB/sec. Chlazení alá "Turbo" Abychom vysledovali historii chladičů grafických karet pracujících na Turbo principu, musíme se vrátit téměř o rok zpět - neboť první exempláře, mající ovšem daleko k dokonalosti, a spíše připomínající zkušební prototypy, se objevily právě v té době. Nelehké začátky Mezi hrstku průkopníků patřila samozřejmě samotná nVidia, která na referenční kartu GeForce4 první takový prototyp Turbo chladiče namontovala. Všichni přední výrobci se
tohoto chlazení (jak jinak) ujali a s rychlostí blesku jej také okopírovali. Našli se však tací, jako například Gainward nebo Leadtek, kteří se vydali vlastní cestou. A díky nim pak vznikla řada v pravdě klasických variací na téma "vrtule + radiátor". Ostatně, podobný typ chlazení najdeme dodnes i na nejmodernějších kartách konkurenční ATI a samozřejmě i jiných výrobců. První podstatná inovace Ale vraťme se zpět k "Turbu". První významný krok stranou učinila až (do té doby u nás širší veřejnosti prakticky neznámá) firma e-VGA. Ta jako první pochopila hlubší význam chlazení moderních grafických karet a oživila zájem o svoje produkty montáží úplné novinky. Tak světlo světa spatřila technologie "Heat-Pipe" založená na centrálním měděném vodiči tepla, odděleném heatsinku (heatsink - pasivní žebrovaná část chladiče) a radiálním větráku. Princip takového chlazení je v postatě jednoduchý. Samotné GPU není spojeno s heatsinkem ale s přenašečem/vodičem tepla. Teprve ten je propojen s heatsinkem, který, díky tomu, že je mimo prostor čipu, může být rozměrnější a chlazení tak účinnější.
Abit OTES vstupuje na scénu Dalším mezníkem ve vývoji se stal počin firmy Abit. Byla nazván O.T.E.S (OTES) a ve
stručnosti na něj prozradím několik informací. Abit použil stejný systém jako e-VGA. Alespoň co se týká "Heat-Pipe" a odděleného heatsinku. Inovace však byla dotažena (téměř) do konce tím, že veškeré součásti chlazení byly opatřeny krytem a horký vzduch byl chytře umístěným otvorem následně vyveden mimo počítačovou skříň. Nechyběla samozřejmě ani teplovodivá kapalina uvnitř vodiče tepla (heat-pipe), která neustále cirkuluje na základě tepelné výměny a radiální, 7200 otáčkový větrák.
GeForce FX a její chladič V případě GeForce FX není přirovnání "Turbo chladič" vůbec přirovnáním lichým. Následující obrázek chladičem osazené GeForce FX pochází ze serveru HotHardware, který jej přinesl jako první.
Zásadní změna oproti OTESu spočívá v tom, že kryt chlazení umožňuje nasávaní chladného vzduchu z okolního prostředí a posléze horký vzduch vyfukovat zase ven. V počítačové skříni se tak kumuluje minimum ztrátového tepla pocházejícího z grafické karty a chlazení může být mnohem efektivnější. Další výhodou je to, že celý pasiv chlazení překrývá i paměťové čipy. Naprosto ideální stav - tedy téměř ideální.. Nevýhody a drobné vady na kráse Do této chvíle jsme se zabývali výhodami a tak nezbývá než se pro změnu podívat na nevýhody tohoto a podobných systémů. Prvním problémem je větrák. Je vhodný a užitečný zejména v tom směru, že poskytuje větší průtok vzduchu chladičem, než větrák klasický, axiální. Ale pokud jste někdy jeli automobilem, který byl vybaven turbo-dmychadlem, určitě jste slyšeli, co se stane, když řidič přidá plyn a turbo se roztočí na svých provozních 120 000 ot/min.. Bohužel, podobný zvuk produkuje i chladič nejnovější grafické karty nVidie - byť se nedá předpokládat, že by se točil vyšší rychlostí jak 7200 ot/min. A připusťme si, že další zdroj hluku větší, než dokáže vyprodukovat i ten nejhlučnější chladič procesoru, mnoho uživatelů asi bude snášet velice těžko. Jedinou nadějí je slibovaná automatická regulace otáček, která by v případě, že karta nebude úplně vytížena, mohla alespoň na čas ulevit ušním bubínkům. Jeden slot je málo.. A to, bohužel, není ani zdaleka jediná nevýhoda nového chlazení. Karta s tímto typem chladiče zabírá celkem dvě pozice. Pro ostatní přídavné karty je tak ve skříni mnohem méně místa. A jak už to tak bývá, ani cena podobného chlazení nebude nejnižší, už kvůli tomu, že
měď je na celosvětovém trhu výrazně dražší než třeba hliník. Nové shadery - verze 2.0 a více Připomeňme si zkráceně, co že to jsou shadery. Tento pojem nejspíš zavedl Renderman, renderovací program používaný pro profesionální filmové efekty už někdy od 80.let. V jeho podání se jedná o programy popisující, jakým způsobem se renderuje scéna. Do světa počítačových her tento pojem poprvé přinesl DirectX 8.0 (a GeForce3), a to hned ve dvou instancích: •
•
Vertex shadery (vertex = vrchol trojúhelníku), jsou programy popisující zpracování geometrie. Základní aplikací je transformace objektů na jejich správnou pozici ve scéně a osvětlení, díky programovatelnosti ovšem dnes mohou provédět mnohem více - skining (animaci 3D postav), nejrůznější modifikace povrchu (moře), generování texturových souřadnic pro odrazy, a samozřejmě nejrůznější výpočty připravující podklady pro pixel shadery. Pixel shadery, tedy programy popisující zpracování jednotlivých bodů. Základní aplikací je nanesení textur případně jejich míchání (lightmapy v Quake hrách), díky programovatelnosti umožňují počítat osvětlení pro každý pixel (toto šlo samozřejmě i bez nich, ovšem s nimi je to snazší), bumpmapping, vylepšené osvětlovací modely a podobně.
Ačkoliv shadery ve verzi directx8 byly takovou malou revolucí, přece jen byly v mnoha ohledech poměrně omezené. Shadery ve verzi 2.0 sice mají stále hodně daleko do Rendermana, ovšem přece jen představují výrazný pokrok (a je možné, že kompletní Renderman shadery nebude 3D hardware přímo podporovat nikdy). Zkusme si srovnat některé vlastnosti Pixel a Vertex Shaderů ve verzi 1.1 (DX 8), 2.0 (DX 9) a NV30: NV30
1.1
1.4
2.0
Max. počet uložených instrukcí
256
128
(není definován)
256
Max. počet provedených instrukcí
65536
128 *
(není definován)
1024
Max. počet konstant
256
96
(není definován)
256
Vertex Shadery
Počet pomocných registrů
16
12
(není definován)
12
Max. počet smyček
256
0
(není definován)
4
Podmíněný zápis
ano
ne
(není definován)
ne
Vnořené procedury
ano (max. 4)
ne
(není definován)
ano (max. 1)
Statické řízení běhu
ano
ne
(není definován)
ano
Dynamické řízení běhu
ano
ne
(není definován)
ne
Max.počet textur
16
4
6
16
Max.počet přístupů do textur
1024
4
12
32
Max.počet aritmetických instrukcí
1024 **
8
16
64
Max.počet konstant
1024 ***
8
8
32
Počet pomocných registrů
64
2
6
12
Podmíněné provádění instrukcí
ano
ne
ne
ne
Max.počet závislosti při čtení textur
neomezeno
4
2
4
Pixel Shadery
Swizzling (přístup na složky registrů) neomezený
jen alpha neomezený
omezený
Datové typy
int (12bit), fp16, fp32 int
int ****
(int = integer)
(fp = floating point)
int, fp16, fp32 *****
Vysvětlivky k tabulce: * = Vertex Shadery 1.1 neumožnují smyčky ani skoky, a tak max. počet provedených instrukcí odpovídá počtu uložených instrukcí ** = Počet přístupů do textur + počet aritmetických instrukcí je dohromady 1024 *** = konstanta obsadí jednu instrukci **** = -8..+8, tj. 12 bit ***** = Pixel Shadery 2.0 explicitně nespecifikují 16 bitové floating point čísla, ovšem instrukce mohou obsahovat modifikátor říkající "tento výpočet je možno provést se sníženou přesností".
Za poznámku ještě stojí, že Radeon 9700 více méně odpovída pixel shaderům 2.0. Proberme si teď nejvýznamější změny u GF FX: Řízení běhu programu ve Vertex Shaderech Zatímco původní Vertex Shadery představovaly jen řetěz instrukcí, jež se provedly odshora dolů, vertex shadery 2.0 zavádějí příkazy známé ze všech "rozumných" programovacích jazyků - smyčky, podmíněné skoky a volání podprogramů. Typickým příkladem jejich použití je osvětlení. V původních Vertex Shaderech se všechny instrukce vykonaly vždy. Bylo tedy možné napsat program, který počítal osvětlení vrcholu 8 světly, ovšem z hlediska výkonu to nebylo zrovna nejmoudřejší (draci na kolotoči v 3DMark 2001), pokud tedy většina objektů osmi světly nasvícena není. Typické řešení bylo napsat programů několik, jeden pro světlo jedno, jeden pro dvě světla, další pro čtyři... knihovna pro dynamické linkování nvlink toto sice usnadnila, ale přece jen se nejednalo o řešení optimální. Vertex shadery 2 ve své základní podobě přinášejí tzv. statické řízení běhu programu. To znamená, že smyčky a skoky jsou řízeny konstantami, jenž jsou neměnné po dobu vykreslování jednoho objektu. Je tedy možno jednoduše říci "tento objekt má 8 světel" a "tento objekt má 4 světla" pouhou změnou jediné konstanty. Toto je rozhodně velikým pokrokem, ovšem NV30 jde ještě dál - smyčky i skoky mohou být dynamické, tedy řízeny konkrétními daty v příslušném vrcholu. Je tedy možné mít část modelu nasvícenou 8 světly a jinou část jen 4 (což u statického řízení lze dosáhnout jen rozdělením objektu na více částí). Možná lepším příkladem než světla je počet kostí ovlivňujících daný vrchol (pri animaci modelu metodou zvanou skining) - tady typicky částí kolem kloubů vyžadují kostí více, zatímco části daleko od nich si vystačí se dvěmi. Počet konstant Zde se jedná spíše o evoluci než revoluci, přesto vítanou, neboť zejména u Vertex Shaderů byl původní počet dosti omezující. Za zmínku stoji řešení uložení konstant u pixel shaderů tady se nVidia rozhodla místo speciálního prostoru ukládat konstanty přímo jako speciální instrukce. Jejich počet díky tomu stoupá na 1024, ovšem je otázka, zda jejich modifikace díky tomuto uspořádání nebude pomalejší. Uvidíme.
Počet instrukcí NVidia je rozhodně pyšná na to, že její Pixel Shadery zvládají až 1024 instrukcí, a má být na co.. opravdu? Pokud odhadneme, že čip zvládá provést 8 instrukcí na 1 takt (jelikož má 8 renderovacích cest, viz později), vychází nám v rozlišení 640x480 pouhých 13 snímků za sekundu při maximální délce pixel shaderu. To bohužel rozhodně není rychlost vhodná pro hry.. Ovšem i kratší shadery by měly umožňovat velice zajímavé efekty, přitom podpora těch dlouhých už dnes umožňí programátorům pracovat na technikách, jež se uplatní na budoucích kartách. Nezávislé čtení z textur Řešení přístupu do textur bylo v Pixel Shaderech verzí 1.1 - 1.3 do jisté míry zklamáním. Na začátku programu byl umístěn blok maximálně 4 texturovacích instrukcí, jenž načetly data. Instrukce sice mohly být navzájem závislé, ovšem pouze mezi sebou - nikoliv na následujících aritmetických výpočtech. Pixel Shadery definovaly poměrně velké množství instrukcí umožňujících mnoho zajímavých efektů (z nichž asi nejvýraznějším byl korektní reflexivní bumpmapping), ovšem flexibilita tak nějak chyběla. Pixel Shadery 1.4 situaci vylepšily tím, že umožňovaly rozdělit celý program do dvou fází. Přitom texturovací instrukce z fáze druhé, mohly využívat výsledky výpočtu z fáze první. Pixel Shadery 2.0 celý proces dokonale zprůhlěďnují (zejména při omezení maximální hloubky závislosti u nv30) - přístup do textury je zkrátka jen obyčejná instrukce, jež může být umístěna kdykoliv uvnitř bloku výpočtů. Pro psaní Pixel Shaderů je toto doslova přelom. Datové typy O těch více v kapitole o zvýšené přesnosti CgFX CgFX není přímo hardwareovou novinkou, a není nutně ani novinkou specifickou pro NVidii. Jedná se ovšem o aktivitu této firmy a proto by ji bylo vhodné zmínit. O co jde? Shadery pro grafické karty se ve své základní formě píšou ve speciálním assembleru. Reakce některých herních firem "v tom se nedá nic rozumně napsat" jsou poněkud přehnané, uvědomíme-li si fakt, že dříve byly v assembleru psány celé hry, ovšem je nutno přiznat, že v assembleru se přece jen nepíše tak rychle jako ve vyšším programovacím jazyce. NVidia na tento problém zareagovala vyvinutím jazyka Cg (C pro Grafiku) a posléze jeho rozšířením CgFX, které popisuje kompletní materiál objektu (tedy včetně přiřazení textur a podobně). Kompilátor pro tento jazyk je k dispozici ve zdrojové podobě (respektive jeho konečný stupeň) a tak je teoreticky možné generovat v něm optimální programy pro všechen dostupný hardware. Firmě ATI se do tohoto projektu ovšem nijak zvlášť zapojit nechce, a tak je v současné době výstup kompilátoru omezen na standardni shadery z DirectX 8.0 a OpenGl 1.4, plus OpenGl rozhraní pro NV30.
CgFX ovšem není jedinou možností. Přímo DirectX 9 obsahuje High Level Shading Language (HLSL) a tak zvané "techniky". NVidia tvrdí, že jejich Cg je kompatibilní s HLSL a CgFX s Microsoftími technikami. Firma 3dlabs (nedávno koupená firmou Creative) pak pracuje na vývoji OpenGl 2.0, jehož součástí je i vlastní vyšší programovací jazyk pro shadery. Spíše ve stádiu výzkumu je programovací jazyk Standfordské univerzity. Tento jazyk se snaží mnohem více přiblížit Rendermanovi a mimo jiné zvládá automatické rozdělení vykreslování objektů na potřebný počet průchodů v závislosti na schopnostech hardware (u ostatních adeptů toto musí provést programátor sám). Jen čas tedy ukáže, který z konkurentů na trhu zůstane (pokud vůbec některý - výkon v této oblasti je poměrně překotný), ovšem v konečné fázi bych osobně sázel na něco na způsob jazyka se Standfordu. Proč "2.0 a více?" Jak je z tabulky zřejmé, NV30 v mnohém překonává model haderů verze 2.0. Některé recenze ji proto označují jako "kartu překonávající DirectX 9", ovšem toto zatím není zcela jisté. Podle nedávno uniknuvších specifikací DirectX 9 (oficiální SDK zatím bylo dáno k dispozici pouze betatesterům, a to pod NDA) se totiž Microsoft rozhodl specifikovat také shadery "2.0 extended" a "3.0". Zatím se zdá, že by NV30 mohla odpovídat Vertex Shaderům 2.0 extended a pixel shaderům 2.0. Ovšem jen konkrétní hardware a první drivery ukážou, jsou-li tyto spekulace pravdivé. Já chci přesné barvy! Ačkoliv každý zanícený příznivce 3dfx hardware ví, že nic víc než 16bitové barevné zobrazení (hicolor) není třeba, výrobci grafických karet a my ostatní to stále nechápeme. V současné době nejčastěji používané 32 bitové barevné zobrazení (s 8 bity, tedy 256 hodnotami na složku) má v zásadě tyto tři problémy: Ačkoliv za normálních okolností 256 úrovní jasu stačí, v některých případech (v obzvláště jemných barevných přechodech) si toho oko všimne. Průměrné lidské oko je údajně schopno rozlisit přibližně 1000 odstínu šedi. Truecolor zobrazení ovšem umožňuje zobrazení jen 256 odstínů čísté šedi (trikem s nepatrným přidaním příměsí lze tento počet zvýšit) • •
Tradiční zobrazení rozděluje zobrazovací rozsah monitoru na 256 stupňů lineárně. Citlivost lidského oka ovšem není lineární, odpovídá spíše gamma křivce s koeficientem 2.2 I pokud Truecolor krásně stačí pro zobrazení výsledného obrázku, je hrubě nedostačující pro jakékoliv složitější mezivýpočty.
Zatímco grafické stanice Silicon Graphics umožňují počítat s 12bity na složku (tedy 48bitové barvy, započítáme-li i alfa kanál) již dlouho, na PC platformě se s uvedenými problémy poprvé pokusila vypořádat firma Matrox s grafickou kartou Parhelia 512. Tato karta přišla s formátem, který používá 10 bitů na složku. DirectX9 se rozhodlo vypořádat s druhým problémem zavedením formátu textur sRGB (http://www.srgb.com/), který ukládá barvy textur po gamma korekci. NV30 by měla tuto vlastnost podporovat.
Třetí problém řeší karty částečně již dělší dobu - nVidie minimálně od GeForce1 pracují interně s 9 bitovou přesností, Radeon 8500 ma interně přesnost 12 bitovou. I tohle však řeší pouze malé problémy s přetečením, a navíc pouze tehdy, je-li karta schopna spočítat objekt během jednoho průchodu. V opačném případě dojde k uložení mezivýsledku v konvenčním 8bitovém formátu a přesnost se ztratí. Pixel shadery 2.0 řeší i tento problém zavedením barev reprezentovaných jako desetinná čísla s plovoucí čárkou (floating-point numbers). Tuto zvýšenou přesnost je možno použít jak uvnitř Pixel Shaderů, tak pro ukládání mezivýsledků do textur v tomto novém formátu. Takový obrázek pak ovšem není možno přímo zobrazit, ale je třeba ho nakonec převést do tradičního (8 bit případně 10 bit) formátu. Obrovský rozdíl v kvalitě výpočtů ukázala ve svých demech už firma ATI (http://www.ati.com/developer/demos/r9700.html), a NVidia se samozřejmě přidala. Nezbývá než doufat, že se tato zvýšená přesnost začne používat co nejdříve (konkretně hře Doom3 by v některých scénách velice prospěla). Pro úplnost zbývá dodat, že čip nVidie podporuje přesnost výpočtů v 32bitových a 16 bitových desetiných číslech. Radeon9700 podporuje 24bitová desetinná čísla. Povrchy Specifikace DirectX 8 přinesla zcela novou možnost - místo tradičních placatých trojúhelníků nechat vykreslovat zaoblené povrchy popsané křivkami vyššího stupně (HOS = Higher Order Surfaces). Zatímco NVidia přišla s podporou Beziérových a Catmull plátů, ATI implementovala svou verzi "subdivision surfaces" zvanou n-patches. Řešení NVidie má v počítačové grafice větší tradici, ovšem ATI má výhodu snažší použitelnosti. A zatímco pro nVidii je třeba vytvořit zcela nové modely, technologie ATI lze aplikovat na tradiční modely sestavené z trojúhelníků (i když je třeba je někdy speciálně upravit, jinak se dočkáme nafouknutých zbraní ze hry Serious Sam). Do rozhraní DirectX 9 pak firma Matrox přinesla "displacement mapping". Tato technologie je založena na n-patches, ovšem výsledné vrcholy jsou posunuty (displaced) podle speciální textury, díky čemuž lze jednoduše vykreslit hrbolaté povrchy nebo třeba terén. NVidia se k n-patches vždy vyjadřovala odmítavě, a jejich podporu odstranila z detonátorů někdy kolem verze 30. Podle jejích propagačních materiálů ovšem GeForce FX podporuje všechny výše zmíněné technologie. Bude tedy zajímavé sledovat, zda se dočkají nějakého výraznějšího nasazení ve hrách (prozatím to nebyla žádná sláva). Multiple Render Target Pod tímto názvem se skrývá jedna z posledních výrazných vlastností nových DirectX (a poslední v tomto článku, neboť o podpoře zbývajících se nikdo nezmiňuje). Zjednodušene jde o to, že karta může během vykreslování zapsat do výsledného obrazu více údajů než pouze barvu pixelu. ATI například demonstrovala technologii, jež ukládá vzdálenost pixelů od kamery a jejich normálový vektor a pomocí nich pak detekovala obrysy objektů (často
požadovaný efekt pro tak zvaný cartoon rendering, tedy zobrazování napodobující animované filmy). Zatímco Radeon9700 tuto vlastnost podporuje přímo, u NV30 je funkce poněkud zastřená. Pixel Shadery tohoto čipu podporují pakovací a rozpakovávací instrukce, které umožňují uložit více hodnot do výsledné 128-bitové hodnoty, jež je pak zapsána do V-RAM (videoram), je ovšem otázkou, zda se nVidii podaří tuto schopnost zpřístupnit tak, jak ji specifikuje DirectX, nebo bude omezena na OpenGL rozříření. Výkon, výkon, výkon... Přecházející kapitoly byly tak trochu programátorské orgie, ovšem doufám, že i běžným smrtelníkům alespoň částečně naznačily možnosti, jenž nový produkt nVidie přináší (a vlastně nejen on, ale spíše DirectX 9 karty obecně). Běžný uživatel si však na základě předchozích zkušeností zcela jiste povzdechne - je to všechno pěkné, ale hry to budou využívat kdy? Za 2 roky? Proto bude nejspíš mnohem zvědavější na přínos okamžitý - výkon. Jak to tedy je? NVidia naštěstí pochopila, že jen nové technologie její kartu neprodají, a tak neponechala výkon stranou. I tak je však z propagačních materiálů zřejmé, že se snaží nenápadně přesunout pozornost zákazníků od kvantity ke kvalitě – nebude tedy již záležet jen na tom, kolik miliard pixelů umí karta vykreslit za sekundu, ale také na tom, jak kvalitní tyto pixely jsou (ať už mluvíme o jejich antialiasingu nebo o vlastních výpočtech použitých při jejich "obarvení"). Tento tah je zcela pochopitelný - rozlišení monitorů je omezené a v okamžiku, kdy se dostaneme na plnou rychlost v 1600x1200, není už moc prostoru, kam dále postupovat. Navíc tradiční brzdou akcelerátorů poslední doby jsou pomalé paměti, a je tudíž zřejmě jednodušší použít více výpočtů na pixel, než pak pixel uložit. Ale vezměme to postupně.. Geometrický výkon Tradičním testem připravenosti karty ke zpracování milionů trojúhelníků se stal počet Vertex Shader jednotek. NVidia nám to ovšem ztížila. Geforce FX totiž neobsahuje několik rozdělených jednotek, ale jeden masivně-paralelní blok pro zpracování vektorových operací (tímto se velice podobá čipu P10 od 3dlabs). Prozatím tedy nezbývá než se spokojit s udávaným výkonem 350 milionů trojúhelníků za sekundu. Pro srovnání, Radeon9700 Pro dosahuje výkonu 325 milionů. Nicméně ze srovnání výkonu a frekvence Radeonu a NV30 vyplývá, že výkon transformačního bloku nVidie by mohl odpovídat zhruba třem Vertex Shader jednotkám. Grafický výkon V tomto se NV30 velmi podobá Radeonu 9700. Karta obsahuje 8 renderovacích cest, každá z
nich má k dispozici jednu texturovací jednotku. V praxi to znamená, že karta je schopna vykreslit maximálně 8 bodů současně během jednoho taktu. To ovšem pouze tehdy, pokud budou objekty používat jen jednu texturu. Při použití více textur (tradičních 2 textur) by měl výkon víceméně odpovídat GeForce4 (pomineme-li rozdíl v pracovních frekvencích). Osm renderovacích cest by ovšem mělo přinést výrazné zrychlení v situacích, kdy nám 1 textura stačí, nebo dokonce nepotřebujeme žádnou. Typickou ukázkou je vykleslování stínových těles (shadow volumes), používaných například zmíněnou hrou Doom3. Shrnuto, podtrženo, GeForce FX bude výkonná a to tak, že velmi.
(Zdroj: 3Dcenter.org)
AGP 8x AGP8x je nový standard pro sběrnice grafických karet. Umožňuje teoreticky přenést až 2.1GB/sec, tedy dvojnásobek oproti dnes běžnému AGP 4x. Podporuje také isochronní přenos (neplést s asynchronním..), tedy v podstatě přenos s garantovanou rychlostí a volitelně více, než jeden AGP konektor. Podle dosavadních testů je rozdíl mezi AGP4x a AGP8x kartami prakticky nulový, ale je třeba přiznat, že často používaný 3dmark2001 je už poměrně vousatý. Uvidíme, jestli bude nějaký rozdíl viditelný u 3dmarku2003. Intellisample Pod tímto názvem se skrývá souhrn technologíí umožňujících zvýšený výkonu celé karty a také kvality výsledku. • •
Z komprese a rychlé mazání z-bufferu Beze ztrátová komprese barev s účinností až 1:4. Zajímavost =>> Odsud zřejmě pochází údaj nVidie o efektivní přenosové rychlosti paměti až 48 GB za sekundu, neboť reálná přenosová rychlost je "jen" 16GB/sec.
Tyto dvě optimalizace budou zřejmě klíčovým faktorem v boji proti Radeonu9700, který disponuje 256-bitovou paměťovou sběrnicí a má přenosovou rychlost téměř 20GB/sec. Jak ukázal příklad Parhelie 512, jsou optimalizace přístupu do paměti poměrně důležité (tato karta má 256-bitovou sběrnici a přesto se výkonově drží za Geforce4 s poloviční šířkou sběrnice). Geforce FX také umožňuje • •
• • •
Vylepšený antialiasing (zahlazování hran). 6xS v DirectX a 8x v OpenGL. Navíc by díky kompresi barev mělo být snížení rychlosti pri aktivaci méně kvalitních módů minimální. Vylepšené anisotropické filtrování. NV30 umožňuje podobně jako Radeon 9700 adaptivní anisotropické filtrování, díky čemuž by se měl pokles v rychlosti projevit pouze na texturách, které toto zvýšení kvality využijí. Podle dostupných údajů by tento režim měl jít v ovladačích zakázat, pokud dáváte přednost kvalitě obrazu před rychlostí. Digital Vibrance Control verze 3: Kromě dosavadního zvýšení sytosti barev má tato funkce zvýšit ostrost textu a dalších hran. Video Mixing Renderer (VMR), podobně jako u Radeonu se jedná o filtrování videosekvencí pomocí pixel shaderů NVidia se údajně zaměřila na zvýšení kvality výstupu pro analogové monitory a televize. Uvidíme, co s tím zvládnou udělat naši oblíbení bastliči noname karet.
Srovnání GeForce FX versus Radeon 9700 Pro Přijít muselo - Ale toto srovnání je samozřejmě obtížné, neboť Radeon je karta, jež je k dostání na pultech již nějakou dobu, zatímco GeForce FX je prozatím jen snůška reklamních materiálů, prvních prototypů a pár fotek z vývojových laboratoří nVidie. Co se týká podporovaných vlastností, zdá se, že nVidia má tentokráte navrch. GeForce FX přesahuje výrazně specifikace Vertex a Pixel Shaderů 2.0, zatímco Radeon 9700 Pro je víceméně kopíruje (ovšem pokud je mi známo, ATI zatím nezveřejnila žádné specifické OpenGL rozšíření pro svůj hardware, a tak se může ještě nějaká nová vlastnost objevit). GeForce FX také používá vyšší přesnost pro výpočty bodů. Otázkou je, zda tento rozdíl bude nějak patrný. Pokud se jedná o výkon, Radonu hraje jednoznačně do ruk jeho širší paměťová sběrnice, zatímco GeForce běží na výrazně vyšších frekvencích, a má pravděpodobně unikátní schopnost komprese barev. Na celkový výsledek souboje si tedy musíme počkat do té doby, než se objeví první vzorky k otestování. Jisté je, že nVidia to nebude mít jednoduché, protože počátkem příštího roku se od ATI očekává ohlášení nové vylepšené verze R300. Kdo říkal, že trh 3D hardwaru je nudný..?
Maminko, kdy? Geforce FX je hodně opožďěná, a i tak si na konkrétní hardware chvíli počkáme. Očekává se, že masová produkce čipů začne někdy v průběhu prosince, a karty by měly být běžně k dostání v průběhu ledna nebo spíše února. NVidia ovšem pravděpodobně bude mít k dispozici pár desítek (stovek?) kusů již tento měsíc. Několik šťastlivých výherců z www.cgshaders.org (což je mimochodem pěkná stránka pro ty, kteří chtějí vidět, co vše NV30 umí) zřejmě obdrží vysněný balíček již pred vánocemi, no a my ostatní si... ...si musíme počkat, až se karta dostane do spárů vybraným recenzentům. A budoucnost... Ačkoliv NVidia teprve ohlásila Geforce FX, po internetu se už delší dobu potulují dlouhodobější plány společnosti. Příští rok by měla přinést vylepšenou verzi NV35 (pravděpodobně nejdříve někdy na podzim), náhradu řady GeForce MX s plnou podporou DirectX 9, a možná i obdobný čip pro notebooky. Mluví se také o následníku čipsetu pro základní desky nForce s touto grafikou. Nezbývá než doufat, že si produktové řady ATi a NVidie povšimnou i výrobci her, a konečně všem konzolím ukážou, co PC zvládá. http://www.chip.cz/3/chipplne.php?id=644 - krátkodobé testy grafických karet http://www.audionet.cz/lat/hw/hw_grafickekarty/ -články o grafických kartách http://www.superboy.webzdarma.cz/gkarty.htm - starší popis funkce grafické karty http://computer.cpress.cz/PDF/0212.pdf - test 36 grafických karet http://www.vogel.cz/testlab/testy/0008_2.pdf - popis funkcí grafických karet http://www.itt.cz/index.php?clanek=25 - článek o GeForce4 Ti4600 http://www.technet.cz/lat/hw/hw_grafickekarty/geforcefx1.html - popis GeForce FX http://www.pcworld.cz/pcw.nsf/069b11ec6da3c04cc1256b04004e3f3c/d094e4b4adafa27bc12 56c49004ecaa6?OpenDocument - test grafických karet
http://www.rafs.cz/clview.php?kat=7 - recenze na grafické karty http://www.svethardware.cz/sh/sh1.nsf/f050302a44d77860c1256b350036da9f/513c1c857817 9d16c1256c060022ce70?OpenDocument - recenze na Radeon 9700 http://www.svethardware.cz/sh/sh1.nsf/ns/_a8tp62pj9cdlo483bc5p78u8_?Open&area=_a8tp6 2pj9cdlo483bc5p78u8_&count=25 - recenze na grafiky http://www.vogel.cz/testlab/testy/grkarty/default.htm - test graf. karet pro domácí použití http://www.topgrafic.com/grafiky/novinky.html - novinky se svete graf. karet