Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

GeForce GTX 460: Fermi jinak a lépe 1/2

14.7.2010, Petr Štefek, zpráva
GeForce GTX 460: Fermi jinak a lépe 1/2
Na uvedení levného Fermi čekal snad každý fanoušek herních technologií a samotných her. Nyní jsme se konečně po všech nesnázích dočkali. Pojďme se tedy podívat, jak si GeForce GTX 460 vede a co je nového.
Pokud se podíváme na geometrii v dnešních hrách, snadno zjistíme, že se mnoho let moc nezměnilo. Ano, modely vypadají podstatně lépe, ale to se jedná především o aplikaci technik, jako je například parallax mapping a podobně, které vytvářejí pouze dojem komplexnějšího povrchu. Vytváření poměrně jednoduchých geometrických modelů má také jeden ze svých důvodů v současném a minulém hardware.

Když se podíváte na to, s jakými skoky se mění výkon shaderů grafických čipů, dostaneme se k tomu, že se jedná stovky až tisíce procent v uplynulých deseti letech. Shadery hrály prim ve všem včetně unifikovaných architektur a efektových možnostech rozhraní DirectX nebo OpenGL. Nikoho dnes nezajímá výkon geometrických jednotek, ale především se vždy jedná o výkon shaderů.


Přínos teselace - vzniká reálná komplexní geometrie z jednoduchého modelu

Pokud bychom se stejně podívali i na geometrickou část čipů, s hrůzou zjistíme, že současné čipy jsou pouze několikrát výkonnější, než tomu bylo třeba před 7 lety. GeForce GTX 285 má pouze 2-3x vyšší geometrický výkon, než měla prastará VLIW architektura NV30 alias GeForce 5800. Není snad výkon v oblasti geometrie potřeba? Samozřejmě je, ale ve světle trendu vývoje počítačové herní grafiky jsme ho tolik nepotřebovali a vše nahrazovali pseudo geometrií, která ovšem v příští generaci komplexního osvětlení scény a HD textur jen stěži postačí.

DirectX 11 podporuje a nařizuje, aby veškeré čipy kompatibilní s tímto novým rozhraním, měly hardwarový teselátor, který bude komplexnější geometrii počítat. Nvidia tedy jen velmi těžko mohla nějakým způsobem obcházet, jakým způsobem se to bude dělat, aby si zachovala kompatibilitu s DirectX 11. Chytře ale obešla neexistující nařízení, jak rychle to vše bude dělat. AMD má ve svých čipech k dispozici hardwarový teselátor a Nvidia má naproti tomu komplexnější Polymorph Engine.

Nyní ještě dodám, že GF104 disponuje až 5x vyšším geometrickým výkonem oproti GeForce GTX 285 alias GT200. Společnost tedy učinila poměrně velký krok, musíme ale rovněž zmínit, že Radeony posledních generací měly geometrický výkon podstatně vyšší než srovnatelné generace karet GeForce.


Tesselace v podání Nvidie


GF104 může k vytvoření komplexního modelu využít spolu s teselací i displacement mapping, což vyžaduje značný výkon. Proto má čip GF104 stejně jako jeho přechůdce GF100 k dispozici tzv. Polymorph Engine (PE) a výkonné Raster Engines ke zvládnutí tohoto úkolu. Geometrický výkon architektury Fermi je neodiskutovatelný a také pro nový čip GF104 platí , že se pohybuje zhruba na 4-5 násobku geometrického výkonu GeForce GTX 285. Zatím se výhody obrovského geometrického výkonu příliš neprojevily, ale v brzké době se dočkáme nových herních pecek jako Mafia II, kde bude tento výpočetní výkon hrát opravdu velkou roli.

Nvidia nenavrhla každý jediný PE jako „out-of-order“, neboť i zde se vyskytují určitá rizika práce s daty stejně jako je tomu u běžných procesorů (CPU). Na druhou stranu nyní může řídit každý Polymorph Engine samostatně a v případě potřeby každý z nich ovládat tak, aby nedošlo k nežádoucímu pozměňování výpočetních výstupů. Ke koordinaci PE jednotek slouží zvláštní samostatný kanál, kde spolu mohou komunikovat a zdánlivě tak zůstat kompaktní, ale některé z instrukcí vykonávat odlišně.


Nvidia a Unigine Heaven - teselace na plné pecky

Výsledkem je fakt, že se od poměrně neflexibilních geometrických jednotek plynule přešlo téměř k úplnému paralelismu a s tím spojeným větším možnostem programování samotné geometrické části čipu. Je velmi pravděpodobné, že právě komplexnost geometrického enginu GF100 měla velmi podstatný podíl na zpoždění GeForce GTX 480/470. Čemuž by odpovídal i fakt, že v případě GF104 se sáhlo k podstatně nižšímu počtu těchto jednotek. Nový čip má sice na jeden SM stále pouze jeden Polymorph Engine, ale těch je zde rovných 8, což odpovídá také počtu PE.

Nebudeme zde chodit okolo horké kaše, protože také GF104 je nesmírně komplexní čip, který je v tomto ohledu technologicky pokročilejší než konkurenční RV870. Společnost musela jít trnitou cestou komplexních geometrických procesorů z důvodů odstranění limitací na straně testátoru ve specifikacích DirectX 11. Pipeline s pevnou funkčností znamená potencionální problém právě pro obrovské množství dat, které na scéně vytváří teselace (vzpomeňme na fakt, že se zde vytváří skutečná geometrie a násobí počet zpracovávaných dat). Úzké hrdlo celého procesu vytváření komplexní geometrie bylo tak velmi potlačeno a navíc je rychlost zpracování geometrie závislá na celkové velikosti čipu (rozuměj počtu jednotek) a nikoli pouze pevně dané geometrické jednotce.


Teselace + displacement mapping


Pokud se podíváme na texturovací jednotky čipu GF104, najdeme zde několik zásadních rozdílů oproti GF100. Jejich počet v poměru k ostatním výpočetním jednotkám se změnil. Prvním je to, že texturovací jednotky podporují formáty komprese textur pro DirectX 11 a tím druhým, že jsou svázány s frekvencí shader core a nikoli celého čipu tak, jako tomu bylo v minulosti u architektury GeForce 9 a níže. Vyrovnávací paměti L1 zůstaly beze změny také u čipu GF104 tedy 64 kB. L2 cache (768 kB) je nyní k dispozici všem výpočetním jednotkám a ne pouze texturovacím jednotkám. Pokud by se někdo radoval nad superrychlými texturovacími jednotkami pracujícími na taktu vysoko nad 1,5 GHz, tak ho zklamu, neboť zde mluvíme o taktu na úrovni jedné poloviny taktu shader core stejně jako je tomu u GF100.

Několik různých technik aplikovaných na jednoduchý model (teselace, DM atd.)

Poslední zastávkou na výletu po krásách architektury GF104 alias Fermi 2 jsou ROP jednotky. Počet těchto jednotek je nyní 32 ve 4 částech, kde každé z nich je k dispozici 64-bit pamětový kanál pro posíláni dat do externí paměti akcelerátoru. ROP jednotky využívají již výše zmíněnou L2 cache o velikosti 768 kB, což je opět poměrně velká změna, protože u minulých generací čipů GeForce měly tyto jednotky svou cache zvlášť. Každá z jednotek zvládne zpracovat jeden 32-bitový pixel za takt a FP16/32 v dvojnásobku až čtyřnásobku tohoto času - tedy 2/4 taktu.
Doporučujeme náš velký přehled desktopových grafických čipů.