GeForce 8800GTX a GTS v testu
autor: Petr Štefek a Jiří Souček , publikováno 8.11.2006
GeForce 8800GTX a GTS v testu

Tak zde máme konečně recenzi dvou zbrusu nových grafických karet z dílen nVidie. Prvním pánem na holení je nejvýkonnější GeForce 8800GTX a druhým je ekonomičtější GeForce 8800GTS. Pojďme se tedy podívat jak si obě stojí a hlavně na novou architekturu čipu G80.


Čip G80 nese 6 bloků ROPs (Raster Operation) jednotek. Tyto jednotky tradičně slouží k zapisování vykreslených pixelů do grafické paměti, dále provádějí Z/Stecil operace, FSAA (multi-sampling), blending (prolínání)...

Každý z šesti bloků umí pracovat se 4 pixely (můžeme říct, že G80 má celkem 24 ROPs), 16 sub-pixely (FSAA) a pokud nepracují s barevnou hodnotou, je každý blok schopen zpracovat až 32 Z-vzorků za takt (celý čip tedy 192 Z-vzorků za takt, což je 12x více než R580 a 4x více než G71). Při FSAA 4x tento počet klesá na 48 Z-vzorků za takt (1,5x více než R580 a 3x více než G71)

ROPs G80 podporují FP16 a FP32 blending (důležité pro HDR). V obou případech dokonce zároveň s FSAA. Vylepšení doznala i barevná a Z-komprese při FSAA, což v kombinaci s architekturou ROPs znamená citelné snížení propadu výkonu při zapnutí FSAA.

G80 je prvním čipem společnosti nVidia, který podporuje programovatelnou mřížku pro rozložení AA vzorků. To přináší především mnohem lepší poměr kvalita obrazu/propad výkonu v režimech FSAA vyšších než 4x a hlavně při SLI-AA.

Tradičně zůstala podpora pro FSAA 2x/4x (rotated-grid multi-sampling). Na základním režimu 4x není již kvalitativně co vylepšovat - rozložení vzorků je tedy stejné, jako na NV4x/G7x, R300/R4x0/R5x0 nebo na šest let staré 3Dfx Voodoo 5 :-)

GeForce 8800GTX a GTS v testu

Nově přibyly tzv. režim CSAA (Coverage-Sampling AntiAliasing), které nabízejí vyšší počet AA vzorků - 8x a 16x. Aby bylo s režimy 8x a 16x možno dosáhnout slušného výkonu, použila nVidia velice zajímavou technologii (se kterou jsme se dosud mohli setkat pouze na úrovni patentů nVidie a ATi), která umožňuje citelně snížit objem dat potřebných pro realizaci AA. Funguje následovně - víme, že dnes standardní anti-alising (multisampling) vyhlazuje pouze hrany, resp. hrany polygonů. Takže pokud dojde na pixel, který leží na rozhraní dvou polygonů, je vyhlazen, pokud neleží na rozhraní, vyhlazen není. Jednoduchý princip. Podívejme se detailněji na situaci pixelu, který se na rozhraní nachází. Ten je v situaci, kdy "část" pixelu zasahuje na jeden polygon a část na druhý. Oba polygony mají různou barvu a cílem FSAA je určit co nejpřesněji (pomocí rozptýlených vzorků), jak velký část pixelu náleží jednomu polygonu, jak velká část druhému, podle čehož je vypočtena barva (např. 3 vzorky leží na polygonu A, jeden vzorek na polygonu B, takže se použijí tři díly barvy z polygonu A, jeden díl barvy polygonu B a takto vypočtená barva se použije pro vyhlazovaný pixel. Toto je běžné pro všechny čipy. Následující odstavec je ale již specialitou G80:

Čím více vzorků používáme, tím více barevných hodnot musíme dočasně ukládat do paměti, jenže - na co ukládat 16 barev, když naprostá většina z nich je stejná - většinou jsou jen dvě (rozhraní dvou polygonů). G80 to řeší tak, že neukládá všech 16 barevných vzorků, ale jejich počet zredukuje na polovinu či na čtvrtinu, tedy 8 (režim 16xQ) či 4 (režim 16x). Tím se množství barevných dat sníží na polovinu, či čtvrtinu a to znamená výrazně nižší nároky na paměť i na sběrnici. Bohužel nám ze strany výrobce nebyly poskytnuty vůbec žádné informace ohledně této technologie, kterou osobně považuji za vůbec nejsilnější stránku čipu G80, protože právě G80 je historicky druhým čipem, který vůbec dokáže rozhýbat FSAA 16x* a to ještě vcelku rychle - propad výkonu je často na podobné úrovni (procentuálně), jako na G71 s FSAA 4x.

*prvním byla Parhelia, která však nenabízela tak efektivní rozložení vzorků, jako G80

Ačkoli nemáme žádné informace, nechtěl bych kvůli tomu tuto kapitolu násilně uzavírat. Oficiální informace nemáme, ale to neznamená, že se alespoň pro ilustraci nemůžeme podívat na obdobu popsané technologie, kterou má minimálně na úrovni patentu připravenou i ATi a o které se již vedly i rozsáhlejší diskuse. Obzvlášť na fóru Beyond 3D, kde uživatel Jawed připravil tabulky srovnávající objem dat, který by byl třeba při standardním FSAA oproti situaci s použitím uvedeného patentu. Samozřejmě, že mezi implementací ATi a nVidie mohou být a budou rozdíly, ale jako ilustrativní ukázka nám to postačí. První tabulka se týká množství dat při běžném FSAA (bez jakékoli komprese):

GeForce 8800GTX a GTS v testu

(c) Jawed - Beyond 3D forums

V prvním sloupci máme uveden počet použitých AA vzorků (de facto úroveň AA, tzn. 4x, 6x...) a v posledním sloupci, kolik bytů na jeden pixel tento režim vyžaduje. Následující tabulka ukazuje totéž, jen při aplikaci patentu:

GeForce 8800GTX a GTS v testu

(c) Jawed - Beyond 3D forums

Např. při režimu 16x klesl objem dat zhruba o 2/3. Tedy stejně, jako kdybychom použili 3x tak širokou paměťovou sběrnici, či 3x tak rychlé paměti. Nerad bych se ale pouštěl na příliš tenký led - v současné době víme, že G80 je schopna redukovat množství barevných vzorků, ale nemáme potvrzeno, zda je schopna nějakým způsobem vyřazovat i zbytečné Z-vzorky. Pokud ne, neklesl by objem dat cca na třetinu, ale spíše cca o třetinu. I to by ale bylo velké plus, zvlášť když si uvědomíme, že klesají i požadavky na paměť (standardně je nutno pro FSAA alokovat více grafické paměti, než je nakonec využito, protože před vykreslením snímku nevíme, kolik pixelů se bude vyhlazovat a kolik paměti se zaplní. Pokud ale víme, že nebudeme ukládat např. více, než 4 barevné hodnoty pro každý pixel, máme tím dané potřebné množství grafické paměti, které nebude překročeno a které je mnohem nižší, než při běžném FSAA.

GeForce 8800GTX a GTS v testu

nVidia G80 Froggy demo - maskot v barvách výrobce :-)
- kliknutím většíte -
jiný obrázek

Vraťme se k praxi. V následující tabulce vidíte srovnání režimů FSAA G71/R580/G80. Bohužel, ovladače dodané výrobcem nefungovaly zcela korektně a nebylo s nimi možné zprovoznit režim FSAA 16x (i při nastavení na 16x byl prováděn AA pouze 8x). Screenshot s ukázkou nejkvalitnějšího režimu zatím budeme muset oželet - ale jakmile to bude možné, uvedeme ho v některém z následujících článků.

G7x
FSAA 4x
 R5x0
FSAA 4x
G80
FSAA 4x
G7x
FSAA 8x
 R5x0
FSAA 6x
G80
FSAA 8x
GeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testu
GeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testu GeForce 8800GTX a GTS v testuGeForce 8800GTX a GTS v testu

kliknutím zobrazíte celou testovací růžici

I bez ukázky režimu 16x je dobře vidět, že nejvyšší kvality dosahuje G80. Krom programovatelnosti pozic vzorků, která umožňuje použít neuspořádané rozložení (sparse) a podpory FSAA 8x a 16x, nyní nVidia nabídla i gamma korekci pro všechny režimy (G70 ji nabízela pouze pro režim 4x), což ocení především majitelé kvalitních CRT monitorů. K čemu je gamma korekce při FSAA dobrá, najdete zde

Shrnutí rozdílů architektur G7x / R5x0 / G80

 G7xR5x0G80
 unifikované jádro   
 SM 4.0   
 rychlý dyn. branch.   
 granularita (DB) *~ 100016 (R520) / 48 (R580)16-32
 oddělené TMU241664**
 text. adress. ALU- (sdílená)1632
 skalární ALUs (1D)volitelně až 1/2fixně 1/2všechny
 poměr MUL : ADD1 : 11 : 22 : 1
 "HQ-AF"   
 program. FSAA   
 max. def. FSAA8x(S)6x16x(Q)
 FSAA + HDR (FP)   
 transparentní AASS, MSSS ***SS, MS
 paměťová sběrnice256bit (4x64bit)256bit (8x32bit)384bit (6x64bit)
 ring-bus   
 teor. výkon PS - 4D62,4 GFLOPS93,6 GFLOPS129,6 GFLOPS
 2D + 2D124,8 GFLOPS93,6 GFLOPS259,2 GFLOPS
 1D124,8 GFLOPS187,2 GFLOPS518,4 GFLOPS

* méně = lépe
** jen 32 z nich má vlastní jednotku pro texture-adressing
*** MultiSampling podporován, ale zatím jen neoficiálně (nutno aktivovat přes registry)

GeForce 8800GTX a GTS v testu

nVidia G80 Adrianne demo (podle Adriane Curry)
 - kliknutím zvětšíte -
Wanda vs. Adrianne - u maskotek nVidie je to opačně: krása přibývá s léty :-)
... na co se asi můžeme těšit za dalších 6 let?

G80 - výhody (+++)

  • unifikovaná architektura
  • podpora SM4.0
  • efektivní texturing (oddělená TMU, konečně vyřešený texture adressing)
  • vysoký výkon ve skalárních operacích
  • kvalitní anizotropní filtrace - "HQ-AF"
  • kvalitní a rychlý anti-aliasing (až 16x) - v současnosti to "nej"
  • programovatelné rozložení vzorků při FSAA
  • 384-bit sběrnice
  • FSAA + HDR
  • efektivní dynamic branching
  • výkon v současných i starších hrách
  • architektura vhodná pro další použití (fyzika, GP-GPU...)

G80 - co zatím nemůžeme objektivně posoudit (???)

  • kompatibilita nových režimů FSAA (CSAA) v širším spektru aplikací
  • výkon v hrách napsaných pro Shader Model 4.0
  • vhodnost nečekaného poměru operací MUL : ADD (pixel shading)

G80 - co by mohlo být lepší (---)

  • ovladače - ohledně nastavení FSAA (s dodanými ovl. nefunkční FSAA 16x)
  • teoretický výkon v 3D/4D operacích (obzvlášť výkon v operaci ADD je na úrovni R580)
  • vnitřní datová sběrnice čipu a paměťové rozhraní (původní crossbar, 64bit kanály)

Testovací sestavu společně se zbrusu novou základní deskou nVidia 6800SLI a procesorem Core 2 Extreme X6800 dodala společnost AT Computers. Sestava byla vybavena 2GB (2x1024MB) operační paměti Kingston DDR2 7200 (900MHz) a pevným diskem Western Digital Raptor (10 000RPM).  Celá sestava běžela na operačním systému Windows XP Professional SP2 a posledními verzemi ovladačů (Catalyst 6.10 a ForceWare 96.97).

GeForce 8800GTS dorazila dnes ráno, takže jsem ji do výkonových grafů stihnul zařadit, avšak na podrobný popis si počkáme do příště.



 
Komentáře naleznete na konci poslední kapitoly.
1067 čtenářů navrhlo autorovi prémii: 517.5Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.