Hlavní stránka Hardware Grafické karty GeForce 7800GT(X) alias G70 - problémy s anizotropním filtrováním
GeForce 7800GT(X) alias G70 - problémy s anizotropním filtrováním
autor: Štefek Petr , publikováno 22.8.2005
Seznam kapitol
1. Vlajková loď nVidie a trhlina v jejím trupu
2. Testy
3. Závěr
GeForce 7800GT(X) alias G70 - problémy s anizotropním filtrováním

Po uvedení nejrychlejšího současného herního akcelerátoru může být nVidia velmi spokojená a může v klidu očekávat příchod nových čipů ATi, které nabraly značného zpoždění díky problémům s pokrokovým 90nm výrobním procesem. Bohužel pro nVidii má nové jádro GeForce 7800GT(X) jeden nedostatek, o kterém se příliš často nemluví a je zde přítomen už od série GeForce 6x00. Řeč je o anizotropním filtrování.


GeForce 7800GT(X) alias G70 - problémy s anizotropním filtrováním

GeForce 7800GTX přinesla zákazníkům ten nejvyšší dostupný výkon, který lze pro hry požadovat. Přes relativně nevysoké takty (430MHz pro jádro a 1200MHz pro paměti) je nová vlajková loď nVidie schopná konkurovat dvěma GeForce 6800Ultra ve SLI režimu, což se prohloubí s příchodem nových grafických enginů, které plně využijí vlastnosti Shader Modelu 3.0, který známe už ze série GeForce 6x00, která ovšem pravděpodobně neposkytnou dostatečný výkon pro plynulé rozhýbání těchto nových grafických hod (např. Unreal Tournament 2007).

Upravené Pixel Pipelines GeForce obdržely navíc ALU jednotky, které jsou schopny zpracovat až 192 MAD instrukcí (8 Vertex Shaderů dokáže dalších zpracovat dalších 32 MAD) v jenom cyklu, což by podle průzkumu nVidie mělo pomoci až k dvojnásobnému výkonu v moderních hrách oproti starší GeForce 6800Ultra (podle některých spekulací byly mini ALU přítomny už v NV40). Na celkový počet 224 MAD instrukcí by byl potřeba dual-core procesor s taktem přibližně 24GHz, to jen tak pro představu o výpočetním výkonu čipu G70. nVidia přesvědčila i svým Super Sampling Transparetním Anti-Aliasingem, který dovoluje vyhlazovat i objekty s transparentními texturami jako listí či tráva (toto zatím nebylo možné). GeForce 7800GTX si sebou přinesla krom výše zmíněných kladných vlastností i jednu velmi nepříjemnou, která spočívá ve způsobu anizotropního filtrování.

GeForce 7800GT(X) alias G70 - problémy s anizotropním filtrováním

Anizotropní filtrovaní (AF) umožňuje zvýšit vizuální kvalitu použitých, které z větší dálky při použití klasikého trilineárního filtrování vypadají zamlženě až rozmazaně. Dalo by se říci, že anizotropní filtrování poskytne texturám i na větší dálku potřebnou ostrost a tím dosáhneme i vyšší vizuální kvality. Bohužel zapnutí této "featury" má velký dopad na výkon, a proto bylo potřeba sáhnout k různým optimalizacím, které by zmírnily dopad na výkon, ale zároveň zachovaly potřebnou vizuální kvalitu. S relativně slušnou optimalizací přišlo už ATi se svým prvním grafickým DirectX 9 čipem R300, který známe z karet Radeon 9700 (Pro) a Radeon 9500 (Pro). Tato optimalizace vycházela z kombinace bilineárního a anizotropního filtrování ze kterého vznikl jakýsi hybrid, který dnes známe pod označením brilineární filtrování s úhlovou optimalizací.

Bohužel nVidia se pustila v optimalizacích anizotropního filtrování stejnou cestou jako ATi a bohužel pro své nové karty, to společnost nezvládla, tak jak by měla. Pokusím se přiblížit princip těchto optimalizací. Pokud si ve hře zapnete anizotropní filtrování 16x, což nejvyšší dostupný stupeň pro dnešní herní karty, tak to ovšem neznamená, že pro všechny textury scény je použito maximálního stupně anizotropního filtrování. Vtip spočívá v takzvané úhlové optimalizaci, což znamená, že pod některými úhly je použito nižšího stupně aniztropního filtrování, čímž si karta zajistí menší výkonový propad oproti klasickému nešvindlovanému filtrování (trilinearní anizotropní filtrování bez úhlové optimalizace). Tyto optimalizace sice jsou jakýmsi podváděním, ale díky tomu, že výsledný obraz je téměř shodný s referenčním obrazem, nic při hraní pouhým okem nepoznáte.

GeForce 7800GT(X) alias G70 - problémy s anizotropním filtrováním
GeForce 7800GTX

GeForce 6/7 mají však tu vlastnost, že při i při maximálním stupni anizotropního filtrování používají pro textury pod některými úhly pouze pouze 2xAF, což má za následek to, že některé textury vypadají neostře a také zjištěné poblikávání textur, které jde na sérii GeForce 6x00 odstranit přepnutím ze standardního nastavení "High" (kvalita) v ovladačích ForceWare na "High Quality" (vysoká kvalita). Stejný postup ovšem neplatí u GeForce 7800, a tak výsledný obraz bude vždy nekorektní.

Podle prvních poznatků se zdálo, že celá věc je způsobena "undersamplingem" úrovně anizotropního filtrování, avšak podle posledních poznatků se zdá, že celý problém je daleko složitější. Všechna potřebná texelová data (tzn. všechny texely) jsou z cache po načtení špatně složeny a jejich menší množství než by pro daný stupeň bylo potřeba. Nvidia si tímto způsobem chtěla ušetřit značné množství práce, ale bohužel tento postup zde selhal. Zatím se neví, jestli je to chyba samotného čipu nebo jen ForceWare, které mají šanci na brzké opravení. Pokud se chyba vyskytuje v samotném čipu, tak má nVidia zaděláno na pořádný problém.

nVidia ve svém materiálu "Review Guidelines" uvádí nepřesné informace a mlží kolem způsobu utváření kvality výsledného obrazu.

"Quality" mode offers users the highest image quality while still delivering exceptional performance. We recommend all benchmarking be done in this mode.

Nastavení "Quality" s poblikáváním (mihotáním textur) tedy nVidia nazývá obraz s vysokou kvalitou a doporučuje na něm benchmarkovat. Karty GeForce 6/7, tak mají o trochu ulehčenou práci a tím vyšší výkon.

"High Quality" mode is designed to give discriminating users images that do not take advantage of the programmable nature of the texture filtering hardware, and is overkill for everyday gaming. Image quality will be virtually indistinguishable from "Quality" mode, however overall performance will be reduced. Most competitive solutions do not allow this level of control. Quantitative image quality analysis demonstrates that the NVIDIA "Quality" setting produces superior image fidelity to competitive solutions therefore "High Quality" mode is not recommended for benchmarking.

Nastavení "High Quality" tedy nVidia považuje za nejlepší možnou dosažitelnou vizuální kvalitu, ale nedoporučuje jej pro benchmarkování.

Chlapci z 3Dcenter se zaměřili na prozkoumání jestli ATi Radeony i se zapnutou A.I. optimizací a starší karty GeForce jsou schopny zajistit neblikající textury při zapnutém anizotropním filtrování.



 
Komentáře naleznete na konci poslední kapitoly.
256 čtenářů navrhlo autorovi prémii: 117.6Kč 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.