Nechtěné
dítě
V únoru letošního roku nám firma Futuremark přinesla novou
verzi svého benchmarkovacího nástroje: 3DMark03.
Od samého počátku (lépe řečeno už před ním) proti němu však zahájila tažení
nejmocnější korporace grafického průmyslu – NVIDIA. Rozeslala různým odborným
periodikům pamflety mluvící o 3DMarku03 jako o programu, který se
absolutně nehodí pro posuzování výkonu grafických karet, a nabádala
všechny, aby místo této množiny syntetických testů raději používali
k benchmarkování skutečné hry.
Nic proti propagaci reálných herních benchmarků – i podle mého názoru by měly tvořit kostru recenze grafické karty. Proč ale ta snaha 3DMark zcela „vyhladit“? Vypadá to tak trochu jako pomsta NVIDIE jeho tvůrcům – ale za co? Za ty statisíce dolarů, které Futuremark údajně vyžaduje po firmách účastnících se jeho beta programů? Těžko. Možná spíš za nepřizpůsobivost. Některé argumenty proti 3DMarku03, které NVIDIA zveřejnila, můžete posoudit zde.
Hrajte způsobem, který chce
NVIDIA!
Herní vývojáři se dají snadno přesvědčit, aby za štědré asistence
NVIDIE usilovně optimalizovali své produkty pro její čipy a účastnili se
pochybného, monopolismem zavánějícího marketingového programu The way it’s meant to be played.
Sebevědomá a nezávislá herní firma by podle mě neměla nechávat uvádět svoje
jméno na stránkách NVIDIE pod výroky jako „Proto jsou nejlepší hry současnosti
vyvíjeny na platformě NVIDIA a určeny k hraní na této platformě“ nebo
„Vaše nejdůležitější vybavení pro hraní nejlepších současných her není brnění
nebo zbraně, ale grafický hardware od NVIDIE. Vyzbrojte se silou GPU NVIDIA
GeForce, abyste mohli hrát hry tak, jak to jejich tvůrci zamýšleli.“ Pokud by se
ale podobně nechal ovlivňovat vývojář benchmarkovacího programu, který si klade
za cíl porovnání čipů od různých výrobců, byl by to přirozeně jeho profesionální
konec.
Zázrak...
V článku
Bitva o 3DMark03
jsem referoval o beta ovladačích Detonator 42.68, na kterých NVIDIA
předvedla „kouzelnou optimalizaci“ pro 3DMark03 – zvýšila výkon karet
s čipem GeForce FX 5800 Ultra v tomto benchmarku o několik
desítek procent, dokonce až nad úroveň konkurenčního Radeonu 9700 Pro.
Futuremarku z toho plynulo reálné nebezpečí, protože jeho 3DMark03 náhle
indikoval něco diametrálně jiného než reálné herní benchmarky – totiž že karta
od NVIDIE je výrazně rychlejší než Radeon. Validita 3DMarku03 tedy byla
zpochybněna, a pokud chlapci z Futuremarku nechtěli zůstat „na hanbě“,
nezbylo jim nic jiného, než se pustit do dekompilace a důkladné analýzy
suity jménem Detonator.
... se nekoná!
Myslela
si NVIDIA, že si nikdo nedokáže s pochopením počíst v dekompilovaném
kódu jejích ovladačů? Nebo že se Futuremark stáhne do ulity a začne místo
programování chovat králíky? Vypadá to tak, protože jinak by minulý pátek
nemohl Futuremark uveřejnit vítěznou analýzu,
z níž vyplývá, to, co jsme mohli očekávat: NVIDIA dosáhla „zázračného“ zlepšení výkonu
cíleným snížením kvality obrazu a nahrazením kódu některých shaderů za běhu jejich vlastní
implementací.
Možná si vzpomenete na aférku s obdobnou „optimalizací“, která proběhla ke konci roku 2001: tenkrát pro změnu firma ATI detekovala ve svých ovladačích spuštění hry Quake 3 a zhoršovala některé vlastnosti obrazu (detaily textur), aby tak dosáhla většího počtu FPS. Ani ATI se tenkrát nepostavila k odhalení čelem – jak bychom to mohli očekávat teď od NVIDIE? Reakce jejích představitelů na odhalení Futuremarku se omezují zhruba na „oni se pokoušejí svým benchmarkem poškodit pověst našich výrobků“. Inu, když vás někdo odhalí, je lépe mluvit o něčem jiném...
Původně jsem si říkal, že se NVIDIA snad spokojí s „demonstrací nepotřebnosti“ 3DMarku03 na beta ovladačích a v oficiální verzi se už onen pochybný kód nebude vyskytovat. Leč chyba lávky: právě aktuální, WHQL certifikovaná verze 44.03, obsahuje největší množství podloudností. Odpovědí Futuremarku je kromě výše zmíněné analýzy také nový patch 330 (4,9 MB), jehož aplikací zamezíte tomu, aby vám NVIDIA prostřednictvím Detonatoru vnucovala svou verzi cizího kódu. Ovladače pak nebudou schopny detekovat spuštění 3DMarku03 a pokles (či spíše „zreálnění“) výkonu činí u GeForce FX 5900 Ultra oproti dosavadnímu švindlování celých 24 %! Úplně bez zajímavosti není ani fakt, že i Radeon 9800 Pro s ovladači Catalyst 3.4 si s novým patchem pohoršil – celkově jen o 1,9 %, ale v testu 4 o 8,2 %, z čehož už lze celkem zřetelně odvodit, že ATI s testem 4 čachruje podobně jako NVIDIA s většinou 3DMarku03.
Hráčilibá optimalizace versus
iritující švindlování
Stejně jako nebylo optimalizací zamlžování textur
v Q3, kterého se kdysi dopustila firma ATI (a prohlásila ho pak
pokrytecky za chybu, která bude v příští verzi odstraněna), není rozhodně
optimalizací ani nahrazování kódu benchmarku vlastním programem, který navíc
v naprosté většině případů produkuje chyby v generovaném obraze (viz
screenshoty v analýze).
U hry si sám hráč musí mít možnost
rozhodnout o nastaveních obrazu v konkrétní hře – od výrobce
hardwaru je totální drzostí, pokud bude hru v ovladačích detekovat
a podle svých představ měnit naše nastavení. U syntetických
benchmarků je pak podobné chování vyslovenou podloudností, protože zde ho už
tvůrce ovladačů nemůže ospravedlnit ani tvrzením, že nám chtěl poskytnout
plynulejší animace, ergo větší požitek ze hry. Tady už se jedná čistě o pokus zkreslit výsledky testů
a podvést tak uživatele. Což už není drzost, ale svinstvo.
Optimalizaci chápu jako proces, kdy je dosaženo ekvivalentních výsledků jiným, efektivnějším způsobem než dosud – nikoli ovšem proces, kdy budu třeba místo všech bodů vykreslovat jen každý druhý, a bude to dvakrát rychlejší. Osobně jsem přístupem NVIDIE (ATI zřejmě taky nebude zcela jako lilie) velmi zklamán a doufám, že se vždycky najdou lidi, kterým nebude zatěžko prolézt kódy ovladačů a odhalit pochybné věci, které se sice dějí před našimi zraky, ale za našimi zády.
Zdroje: Futuremark, ExtremeTech