Toto je překlad článku The Swindling Technology z Reactor Critical. Překlad "spáchal" Jiří Panáček, já jsem pouze trochu upravil sloh a přepsal HTML - nejsem tedy autorem ani žádné z poznámek (šikmé zelené písmo). Ještě jedna důležitá věc: Ten článek byl překládán tak, aby byl zachován význam, o umělecké zpracování Jirkovi ani mě nešlo. |
6. července 1999
Žádný z výrobců 3D čipů se nezdráhá obelhávat konečného spotřebitele za účelem dosažení co největší prodejnosti svých výrobků. Uvedu zde příklady několika doposud vyvinutých technologii, které nemají žádný praktický význam a přitom jsou mnohdy patentovány jako "technologicky převratný objev".
Hromadné obelhávání započalo s příchodem velmi populárního programu 3D Winbench
98. Srovnávací test se skládal ze dvou částí. Nejprve byly spuštěny testy kvality.
Ty umožnily ověřit implementaci různých funkcí. Jestliže některá funkce nebyla
implementována nebo její implementace byla nesprávná (to musel rozhodnout uživatel),
pak tento program vyhodnotil test jako "neúspěšný". Po testu kvality následovalo
testování výkonu. Zde bylo několik výkonnostních testů s jediným "průměrným" vyhodnocením.
Toto číslo bylo chápáno jako výkonnostní index. Bohužel, jestliže daný čipset některou
3D funkci nepodporoval (test kvality byl neúspěšný), pak byl benchmark test spuštěn
v módu se softwarovou akcelerací. Výsledkem toho je, že např. Matrox Mystique byl ve
vzájemném porovnání s ATI Rage II vždy pomalejší navzdory tomu, že Mystique je
nepochybně rychlejší. Příčina takových nedobrých výsledků spočívala v tom, že Mystique
neměl podporu bilinearního filtrování, které mnoho srovnávacích testů vyžadovalo.
(*pozn. viz. občasné úvahy a připomínky v recenzích duchovního
otce těchto stránek ohledně rozporuplných výsledků v testech grafických karet s
návazností na rychlost v samostatných hrách)
Vládci tohoto světa (např. společnost Compaq) zakládali svá rozhodnutí na základě výsledků testu 3D Winbench 98, a v tom byl problém. Recenzenti internetových sajt se mohli pominout z volání, že tento výsledek je podvodný, ale management korporací to neposlouchal a stále nakupoval na základě těchto čísel.
Dva klasické příklady. ATI vyvinulo "turbo-driver" pro jejich Rage Pro. Driver získával 3D Winbench 98 hodnocení o 30-40% vyšší než standardní driver, ale ve hrách neměl absolutně žádné výhody. PowerVR driver od Videologicu ověřoval jméno spouštěného programu, a když zjistil přítomnost 3D Winbench 98, speciálně se pro něj natweakoval. Když se spustitelný soubor 3D WinBenche přejmenoval, výsledek PowerVR klesl o 20-30%.
Když programátoři ZDLAB vyvíjeli 3D Winbench 99, pokoušeli se udělat ho podvodníkovzdorný a ochránit ho před možností zneužití výrobcem graf. čipů. Všechny rychlostní testy byly jednotně přestaly používat trilineární filtrování, antialiasing atd. Jinými slovy, jestliže karta nepodporovala tyto featury, firmy nemusely podvádět, aby dosáhly vysokých výsledků, protože tyto funkce prostě nebyly použíty.
To sice zní dobře, ale je zde stále jedno ALE! V testu kvality se program od ZDLABu automaticky rozhodne, zda je nebo není funkce implementovaná správně. Je to asi tak, jako bychom nosili tričko s nápisem “nakopni mě” - bylo by ostudné toho nevyužít.
Scénář pro "Jak rychle získat peníze" je:
Samozřejmě, výsledek 3D Winbenche není jediným měřítkem k přesvědčování. Když se podíváte na zprávy firmy Mercury Research, zjistíte, že používají také výsledky z programu 3D Mark 99. Ve zprávě je mimo jiné výkonnostní test (Game1 a Game2) a test 3D funkcí (trilineární filtrování, anisotropické filtrování, bump mapping). Toto lze zneužít ještě jednodušeji. Výrobci nás často jednoduše klamou "chip funkce podporuje, ale ovladače zatím ne".
Nejdříve mi dovolte, abych vám řekl o trilinearní approximaci (známé jako "LOD dithering"). Myšlenka za trilineárním filtrováním je zvýšení kvality obrazu. To bohužel vyžaduje mnoho počítání. Trilinearní approximace je náhražka trilinearního filtrování. Dává extrémně nízkou kvalitu obrazu (mnohem horší, než bez použití trilineárního filtrování) a současně umožňuje napsat "Podpora trilineárního filtrování" do tiskového prohlášení. Proč? Protože ve 3D Winbench 99 test trilinearního filtrování úspěšně proběhne.
Není to poprvé, co píši o nízké kvalitě trilinearní approximaci. Také jsem již vícekrát psal o tom, že je naprosto nezbytné rozezlišovat approximaci od skutečného trilinearního filtrování. Během 5 dnů, které jsem strávil na Comteku (ruské počítačové výstavě), jsem často viděl, že lidé přistupovali k PC s Viper V770 a dopisovali příkaz gl_texturemode GL_LINEAR_MIPMAP_LINEAR v konzoli Quake 2. Ten příkaz by měl aktivovat trilinearní filtrování v Quake 2. Lidé si ovšem neověřili, zda TNT2 vůbec má skutečné trilinearní filtrování. Prostě si někde přečetli, že při trilinearním filtrování vzroste kvalita obrazu a slepě tomu věří.
(*pozn. nevím proč, ale obrázek vlevo mi silně připomíná
trilineární filtrování podlahy ve hře UNREAL pod graf. kartou TNT :-()
Je zajímavé, že NVIDIA nemá na své webové stránce o trilineárním filtrování ani slovo, natož pak tvrzení, že její čipy ho podporují. Ale existuje recenze na TNT2, která by neměla podporu trilineárního filtrování v sekci se specifikacemi? (Ano, existuje. Já specifikace do recenzí vůbec nepíšu ;-), pozn. Pepa Kokeš) Ano, TNT a TNT2 má trilinearní filtrování ale pracuje pouze v "DX5 compatibility mode", tzn. se zakázaným multitexturingem. Pokud pravé trilineární filtrování aktivujete, zakáže se současně Twin-texel mód, který umožňuje zpracovat dva pixely v jednom průchodu. To způsobí asi 40% pokles výkonu. Ale samotná skutečnost, že trilinearní filtrování je jen málokdy k vidění nebo je pomalé, není hlavním problémem. Konec konců TNT2 ho oficiálně vůbec nepodporuje (viz popisná část v manuálu). Problém je, že většina výrobců oznámila přítomnost "trilinearního filtrování" ve svých prohlášeních. Ve skutečnosti lidé vidí trilinearní aproximaci, navíc velmi rychlou (aspoň podle 3D Mark 99 Max). V důsledku toho udělalo mnoho vážených recenzentů závěry stojící na nepodloženém základě.
Nejdříve se seznamte s tímto axiomem: Žádný doposud vyrobený 3D akcelerátor nepodporuje anisotropické filtrování. Podle tiskových prohlášení čipy Savage4, Savage3D, TNT, TNT2, G200, a G400 podporují anisotropické filtrování. Ani jeden z nich toto filtrování nemá.
Nejlepší cesta, jak tuto podporu zkontrolovat, je pomocí “Filtering Demo utility” z DIRECTX 6 SDK. Umožňuje porovnání výsledků hardwarového anisotropického filtrování s referenčními obrázky. Jak možná víte, DIRECTX6 má referenční softwarové rendererování, které zobrazuje obraz tak, jak by měl být zobrazen. DIRECTX6 podporuje tři-úrovně anisotropického filtrování (úrovně 2, 4, a 8). Čím vyšší úroveň, tím je lepší zobrazovaná kvalita. TNT A TNT2 má druhou úroveň (t.j. nejhorší kvalitu) anisotropického filtrování. Níže vidíte tři obrázky - referenční úroveň 2 anisotropického filtrování, TNT2 anisotropické filtrování, a referenční bilineární filtrování. Věnujte pozornost malému textu. Je zřejmé, že obraz TNT2 se velmi podobá (neřeknu-li přímo "rovná se") bilineárnímu filtrování.
Mnohem oblíbenější cesta k otestování anisotropického filtrování je program 3DMARK 99. Program ukazuje, že implementace anisotropického filtrování na TNT2/TNT je lepší než bilineární filtrování, ale mnohem horší než skutečné trilineární filtrování (ne aproximace). Jak si možná vzpomínáte, výrobci vždy tvrdili, že anisotropické filtrování je lepší než trilineární. To všechno mě nutí k závěru, že v případě TNT/TNT2 tu máme další podvodnou aproximaci a ne skutečně fungující funkci.
Všechny hardwarové featury mohou být rozděleny na skutečně využitelné a na marketingové proklamace. Marketingové proklamace jsou ty featury, které se staly velice populárními na Webu. Poté už se nikdo nezajímá, jestli je skutečně potřebuje. Zdá se, že nikdo nezná pohádku o nahém králi.
Velmi oblíbeným marketingovou featurou je stále full-scene antialiasing. Pravděpodobně to vše začalo u Rivy 128, která měla v 3D WINBENCH 98 tuto featuru zaškrtnutou (tj. provedla se úspěšně). Skutečně to měla, protože při testu kvality se nepočítal výkon, pouze se ověřovala implementace funkce. Implementovat antialiasing celé scény v herních kartách je jednoduchá jak facka. Obraz je renderován ve vyšším rozlišení a pak zmenšen. Jinými slovy, pokud máte v 800x600 na Rivě 128 40 FPS, pak v 2x2 antialiasingu dostanete 10 FPS - 4x méně. Jenže marketingová mašinerie už se shlukla pod vlajkou "Ať si uživatel vybere". Zatraceně, o jakém výběru to mluví - mezi 40 a 10 FPS?
Dnes najdete full-scene antialiasing ve specifikacích každé karty, bez ohledu na to, jestli ho karta podporuje (*pozn. – například si vzpomeňte na to co bylo uvedeno na krabici k VOODOO 3 – psal o tom Pepa Kokeš na této stránce, a nebo na recenzi na Savage 4) (příkladem je Savage4, která tuto featuru nemá, ale deklaruje ji). Hry s podporou antialiasingu už se v podstatě nevyskytují. Antialiasing hran, který ještě před rokem vypadal jako velmi užitečná featura (vysoká rychlost a vynikající kvalita), je nyní mrtev. Žádný z čipů nové generace ho nepodporuje. Proč taky, když existuje antialiasing celé scény?
Běda! Předpověď je extrémně negativní. Výrobci se zajímají o odbyt, a proto se zajímají o bezmyšlenkovité propagování nových featur. Tyo featury jsou na nejlepší cestě stát se novými fetiši:
Cítíte se také podvedeni? Já ne. Vždyť tyto známé reklamní triky se používají všude kolem nás. Například exkluzivní přechodné snížení cen zboží se provede tak, že se nechá původní cena zboží a nad ní se napíše cena o 30% vyšší a přeškrtne se :-). A nebo Telecoom (čte se telekum – pozor nezaměňovat s renomovanou známou telekomunikační společností) zavede nové tarify pro produkt Internet 99 a stále, měsíc po zavedení této služby, účtuje občanům v jednom nejmenovaném městě, nalézající se na Severní Moravě telefonní impulsy se starými sazbami :-). Proč by se tato marketingová mašinérie, která má za cíl zvýšení prodejnosti výrobků, měla vyhnout zrovna hardwarovému průmyslu? Budha by možná na to řekl toto: Z jednoty vzniká dvojnost – z dvojnosti vzniká chtění a ze chtění vzniká ...
Skutečnost je taková, že z důvodu “pomalosti současných procesorů” nám teprve grafické 3D akcelerátory umožnily, využit výše zmiňovaných technologií, které způsobily velmi podstatný kvalitativní přelom v herním průmyslu. Výrobci grafických čipů musí mít v patrnosti finální cenu, aby byla grafická karta běžnému spotřebiteli cenově přístupná. Vše je to úzce napojeno na výzkumné laboratoře, ve kterých nejsou všechny projekty v praxi životaschopné, a na následném uvedení nových technologií a postupů zpracování do praxe.
Taky si myslím, že by nás konečné spotřebitele, možná hřál na srdci pocit, že máme pravé anizotropické filtrování, embossing filtering a full scene antialiasing, ale rychlost hry podobající se prohlížení diapozitivů by nás z tohoto hřejivého pocitu rychle probudila. Různé návody na všelijaké tweakování her, které nakonec přemění hru v zcela jinou, než původně programátoři zamýšleli, také napomáhá k podpoře davového fanatismu za honbou uvolněných fps, aby mohli hrát ve vyšších rozlišeních. V současné době již není podstata problému jen v tom, abychom dosáhli co nejvíce fps, ale také v kvalitě zobrazování. S každou novou generací grafických čipů je k dispozici také větší výpočetní potenciál procesorů a tak věřím, že současné technologie, ale i ty, které přijdou, budou stále více společně s aplikacemi využívat všechny dostupné rysy a vymoženosti k naší celkové spokojenosti. Za pět roků možná bude vše od firmy “TNIntelLogic Fxfooling AMD corporation” na plošném spoji o rozměru 1cm2 s atomovým generátorem a úspora elektrické energie již bude tak zřetelná, že ČEZ konečně vyslyší žádosti ekologicky smýšlejících občanů a výstavbu Temelínu s konečnou platností zastaví. Uuuuuffffff, už aby to bylo. :-)
Pozn. Pepa Kokeš: Antialiasing: S poklesem výkonu při antialiasingu nemá autor pravdu. Pokles není přímo úměrný velikosti antialiasingu (2x2 -> 4x nižší výkon). Rychlost klesne na tu hodnotu, na jakou by padla v případě, že použijete příslušně větší rozlišení - takže např. u 800x600 s 2x2 antialiasingem rychlost klesne zhruba na úroveň, na jakou by se dostala v 1600x1200 bez antialiasingu. V extrémních případech (na velmi výkonné kartě, ale velmi slabém procesoru) by tedy rychlost s antialasingem mohla být stejná jako rychlost bez něj: Při zvýšení rozlišení se nemění počet polygonů (které počítá procesor), pouze stoupá nárok na fillrate grafické karty. Pokud je rychlost silně limitována procesorem (třeba Pentium 166), ale grafická karta má velkou rezervu ve fillrate (třeba TNT2 v 640x480), ani po zdvojnásobení rozlišení v obou směrech rychlost nemusí poklesnout. Předpověď do budoucna: Nemohu souhlasit ani s jedním tvrzením:
|