Diit.cz - Novinky a informace o hardware, software a internetu

ex-inženýr Nvidie: Každou hru vydávají rozbitou, opravujeme to v driverech

„Podivovali jste se někdy nad tím, proč je vydání každé významnější hry doprovázeno novými ovladači od AMD a Nvidie? Tak tady to máte…“

Výše citovaná slova od bývalého pracovníka Nvidie, který měl na starosti ovladače pro hry, pěkně shrnují situaci v herním průmyslu. Pokud hra padá, vykazuje grafické anomálie nebo třeba mizející textury, spílají uživatelé na fórech výrobcům grafických karet a žádají, „ať už si ty drivery konečně opraví!“. Jenže realita je většinou jiná. Softwarové týmy Nvidie a AMD hledají bugy po autorech hry a v rámci ovladačů pro ně vyvíjejí řešení. Tato praxe dosáhla už takové samozřejmosti, že se někteří vydavatelé neobávají vydat hru prakticky nefunkční - však oni si výrobci grafik poradí. Jestli si neporadí, utrhnou si ostudu před uživateli sami…

Takový obrázek reálného fungování situace přednesl bývalý softwarový inženýr ve svém rozsáhlém diskusním příspěvku na fóru gamedev. Vybíráme ty nejzajímavější pasáže - kompletní obsah najdete tady.

„Téměř každá hra je vydána rozbitá. Řeč je o významných AAA titulech od výrobců, kteří patří k nejznámějším v branži. Někdy řešíme i donebevolající porušení pravidel API - jedna D3D9 hra se ani neobtěžovala s voláním BeginFrame/EndFrame. Leccos jsou chyby nebo přehlédnutí - jeden titul byl vydaný s chybnými shadery, které silně snížily výkon našich ovladačů. Takové záležitosti jsou na denním programu bug-trackeru. Pak se na to někdo podívá, zjistí, co je v té hře zvorané a vytvoří záplatu, aby si s tím ovladač poradil. V ovladači už existuje dlouhá řada volitelných záplat, které prostě pro jednotlivé hry zapínáme nebo vypínáme - a pak jsou tam hacky specifičtějšího rázu - až po kompletní náhradu původních shaderů za verzi připravenou našim softwarovým týmem. Podivovali jste se někdy nad tím, proč je vydání každé významnější hry doprovázeno novými ovladači od AMD a Nvidie? Tak tady to máte…“

Vzpomínám na dobu, kdy AMD (vlastně ještě ATi) a Nvidia začaly do ovladačů zahrnovat tzv. shader-replacement, tedy náhradu původního kódu výrobce hry za vlastní, Uživatelé to tehdy silně kritizovali a označovali jako cheat, podvod, zkrátka nekalou praktiku a žádali výrobce hardwaru, ať od toho upustí. Jak je zřejmé z citovaných slov, pokud by tak učinili, řada her by přestala fungovat, protože původní kód byl nefunkční…

„Nedokážete si ani představit, o jaký počet chyb jde, dokud je nemáte možnost vidět osobně. Domnívám se, že přes polovinu všeho softwarového úsilí věnují výrobci [AMD a Nvidia] rozběhání existujících her na vícečipových grafických konfiguracích. (A to ani nevím, jak to vypadá po hardwarové stránce.) Pokud jste někdy zkoušeli zcela nezávisle vyvinout aplikaci, která používá konfigurace s více grafickými jádry - především pokud jste to, s pomocí boží, zkoušeli pod OpenGL - pak teprve můžete mít představu, co to obnáší […]“

Dostalo se i na zmínku o tom, že ovladač obsahuje jakousi adaptivní vrstvu, která se snaží hledat a analyzovat některé typy chyb v kódu a automaticky je překlenout, protože by jejich individuální řešení v rámci jednotlivých záplat už nebylo v lidských silách. Celý diskusní příspěvek vytváří dost dobrou představu, proč do světa PC her nemůže vstoupit další výrobce grafických čipů a proč se už před lety nemohl povést comeback značek jako S3, SiS (resp. XGI) a podobně. Žádná začínající firma totiž není schopná sehnat a ufinancovat lidské zdroje na to, aby řešily bugy ve hrách, na kterých AMD a Nvidia pracovaly posledních 15 let. A naopak jen velmi málo zákazníků si vědomě pořídí grafickou kartu, na které mu bezproblémově poběží jen pár aktuální titulů, jejichž zazáplatování zvládl nový výrobce finančně, personálně a časově utáhnout.

Situace se ale může vymstít i samotným vývojářům. Není nijak vzácnou záležitostí, že autor vytvoří nějaký kód a ovladač - který striktně neprovádí zadaný kód, ale v rámci zachování funkčnosti a stability věští, co tím chtěl básník říci - ve výsledku provede něco trochu jiného, než autor kód zamýšlel. Autor může skončit bezradný, protože nemá možnost jak ovladači vysvětlit, že nejde o chybu, ale (pro ovladač neočekávaný) záměr.

Ex-inženýr Nvidie předpokládá, že určitou pozitivní změnu mohou přinést nová API. Mantle, DirectX 12, Metal a Vulkan by mohly část těchto problémů eliminovat. Nu, uvidíme…

Tagy: 
Zdroje: 

Diskuse ke článku ex-inženýr Nvidie: Každou hru vydávají rozbitou, opravujeme to v driverech

Pondělí, 16 Březen 2015 - 16:35 | peliculiar | Díky všem za hodnocení a za jasnou argumentaci,...
Pátek, 13 Březen 2015 - 09:35 | Heron | Běží tam OS a software, u kterého se rozhodně...
Pátek, 13 Březen 2015 - 07:10 | petr22 | Co na tech serverech bezi, kdyz jsou na...
Čtvrtek, 12 Březen 2015 - 18:45 | Noxik | To uz si fakt presne nepamatuju, jedine snad to,...
Čtvrtek, 12 Březen 2015 - 17:33 | HKMaly | Pro mladsi: V XML standardu se pise, ze pokud...
Čtvrtek, 12 Březen 2015 - 09:46 | Mi B | Ano, byla tam detekce spustitelneho souboru, ale...
Čtvrtek, 12 Březen 2015 - 08:32 | Heron | Jen možná lehce poopravím / doplním, je to rychle...
Čtvrtek, 12 Březen 2015 - 08:28 | Heron | Mám ve správě něco kolem 200 serverů s celostátní...
Čtvrtek, 12 Březen 2015 - 07:37 | Pocituj Lasku | Keby isli cisto podla standardu, tak GK nic...
Čtvrtek, 12 Březen 2015 - 02:18 | Adams Adams | To je spíš tím, že se nikdo nestará a neřeší,...

Zobrazit diskusi